You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jc...@apache.org on 2019/05/15 18:14:20 UTC
[calcite] branch master updated (a5b382a -> 046bb81)
This is an automated email from the ASF dual-hosted git repository.
jcamacho pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git.
from a5b382a [CALCITE-3028] Support FULL OUTER JOIN with AggregateJoinTransposeRule (Vineet Garg)
new d689620 [CALCITE-3066] RelToSqlConverter may incorrectly throw an AssertionError for some decimal literals
new 046bb81 [CALCITE-3052] Error while applying rule MaterializedViewAggregateRule(Project-Aggregate): ArrayIndexOutOfBoundsException
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java | 4 ++--
.../apache/calcite/rel/rules/AbstractMaterializedViewRule.java | 7 ++++---
.../org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java | 8 ++++++++
3 files changed, 14 insertions(+), 5 deletions(-)
[calcite] 01/02: [CALCITE-3066] RelToSqlConverter may incorrectly
throw an AssertionError for some decimal literals
Posted by jc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jcamacho pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git
commit d6896202c865b38b7821f1e0b644e1de0c95eda2
Author: Jesus Camacho Rodriguez <jc...@apache.org>
AuthorDate: Mon May 13 18:35:09 2019 -0700
[CALCITE-3066] RelToSqlConverter may incorrectly throw an AssertionError for some decimal literals
Close apache/calcite#1213
---
.../main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java | 4 ++--
.../org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java | 8 ++++++++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/core/src/main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java b/core/src/main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java
index 8b51530..39f6b4b 100644
--- a/core/src/main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java
+++ b/core/src/main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java
@@ -500,10 +500,10 @@ public abstract class SqlImplementor {
case NUMERIC:
case EXACT_NUMERIC:
return SqlLiteral.createExactNumeric(
- literal.getValueAs(BigDecimal.class).toString(), POS);
+ literal.getValueAs(BigDecimal.class).toPlainString(), POS);
case APPROXIMATE_NUMERIC:
return SqlLiteral.createApproxNumeric(
- literal.getValueAs(BigDecimal.class).toString(), POS);
+ literal.getValueAs(BigDecimal.class).toPlainString(), POS);
case BOOLEAN:
return SqlLiteral.createBoolean(literal.getValueAs(Boolean.class),
POS);
diff --git a/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java b/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java
index 8dc4cc5..e4fe971 100644
--- a/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java
+++ b/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java
@@ -408,6 +408,14 @@ public class RelToSqlConverterTest {
sql(query).ok(expected);
}
+ @Test public void testCastDecimal1() {
+ final String query = "select -0.0000000123\n"
+ + " from \"expense_fact\"";
+ final String expected = "SELECT -1.23E-8\n"
+ + "FROM \"foodmart\".\"expense_fact\"";
+ sql(query).ok(expected);
+ }
+
/** Test case for
* <a href="https://issues.apache.org/jira/browse/CALCITE-2713">[CALCITE-2713]
* JDBC adapter may generate casts on PostgreSQL for VARCHAR type exceeding
[calcite] 02/02: [CALCITE-3052] Error while applying rule
MaterializedViewAggregateRule(Project-Aggregate):
ArrayIndexOutOfBoundsException
Posted by jc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jcamacho pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git
commit 046bb81a9a4ac3e5b63c0ca4a0141446df325a44
Author: Jesus Camacho Rodriguez <jc...@apache.org>
AuthorDate: Mon May 13 10:34:47 2019 -0700
[CALCITE-3052] Error while applying rule MaterializedViewAggregateRule(Project-Aggregate): ArrayIndexOutOfBoundsException
Close apache/calcite#1212
---
.../org/apache/calcite/rel/rules/AbstractMaterializedViewRule.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/AbstractMaterializedViewRule.java b/core/src/main/java/org/apache/calcite/rel/rules/AbstractMaterializedViewRule.java
index 101b42a..f1b12eb 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/AbstractMaterializedViewRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/AbstractMaterializedViewRule.java
@@ -1462,6 +1462,7 @@ public abstract class AbstractMaterializedViewRule extends RelOptRule {
// Cannot rollup this aggregate, bail out
return null;
}
+ rewritingMapping.set(k, queryAggregate.getGroupCount() + aggregateCalls.size());
final RexInputRef operand = rexBuilder.makeInputRef(input, k);
aggregateCalls.add(
// TODO: handle aggregate ordering
@@ -1469,7 +1470,6 @@ public abstract class AbstractMaterializedViewRule extends RelOptRule {
.approximate(queryAggCall.isApproximate())
.distinct(queryAggCall.isDistinct())
.as(queryAggCall.name));
- rewritingMapping.set(k, sourceIdx);
added = true;
}
}
@@ -1502,9 +1502,10 @@ public abstract class AbstractMaterializedViewRule extends RelOptRule {
rexBuilder.makeInputRef(result,
groupSet.indexOf(inverseMapping.getTarget(i))));
}
- for (int i = 0; i < queryAggregate.getAggCallList().size(); i++) {
+ // We add aggregate functions that are present in result to projection list
+ for (int i = queryAggregate.getGroupCount(); i < result.getRowType().getFieldCount(); i++) {
projects.add(
- rexBuilder.makeInputRef(result, queryAggregate.getGroupCount() + i));
+ rexBuilder.makeInputRef(result, i));
}
result = relBuilder
.push(result)