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 2016/03/17 21:10:11 UTC
[4/8] calcite git commit: Add test case for [CALCITE-1153]
Add test case for [CALCITE-1153]
Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/22aa8a80
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/22aa8a80
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/22aa8a80
Branch: refs/heads/master
Commit: 22aa8a8072bd98d4d81d17aad7db5a972e03478e
Parents: 9dd4993
Author: Julian Hyde <jh...@apache.org>
Authored: Mon Mar 14 14:14:56 2016 -0700
Committer: Julian Hyde <jh...@apache.org>
Committed: Thu Mar 17 12:32:00 2016 -0700
----------------------------------------------------------------------
.../java/org/apache/calcite/test/JdbcTest.java | 24 ++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/calcite/blob/22aa8a80/core/src/test/java/org/apache/calcite/test/JdbcTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/calcite/test/JdbcTest.java b/core/src/test/java/org/apache/calcite/test/JdbcTest.java
index b57feee..cfebfb2 100644
--- a/core/src/test/java/org/apache/calcite/test/JdbcTest.java
+++ b/core/src/test/java/org/apache/calcite/test/JdbcTest.java
@@ -4387,16 +4387,36 @@ public class JdbcTest {
CalciteAssert.model(FOODMART_MODEL)
.query("select count(*) as c from \"customer\" "
+ "where \"lname\" = 'this string is longer than 30 characters'")
- .enable(CalciteAssert.DB != CalciteAssert.DatabaseInstance.ORACLE)
.returns("C=0\n");
CalciteAssert.model(FOODMART_MODEL)
.query("select count(*) as c from \"customer\" "
+ "where cast(\"customer_id\" as char(20)) = 'this string is longer than 30 characters'")
- .enable(CalciteAssert.DB != CalciteAssert.DatabaseInstance.ORACLE)
.returns("C=0\n");
}
+ /** Test case for
+ * <a href="https://issues.apache.org/jira/browse/CALCITE-1153">[CALCITE-1153]
+ * Invalid CAST when push JOIN down to Oracle</a>. */
+ @Test public void testJoinMismatchedVarchar() {
+ final String sql = "select count(*) as c\n"
+ + "from \"customer\" as c\n"
+ + "join \"product\" as p on c.\"lname\" = p.\"brand_name\"";
+ CalciteAssert.model(FOODMART_MODEL)
+ .query(sql)
+ .returns("C=607\n");
+ }
+
+ @Test public void testIntersectMismatchedVarchar() {
+ final String sql = "select count(*) as c from (\n"
+ + " select \"lname\" from \"customer\" as c\n"
+ + " intersect\n"
+ + " select \"brand_name\" from \"product\" as p)";
+ CalciteAssert.model(FOODMART_MODEL)
+ .query(sql)
+ .returns("C=12\n");
+ }
+
/** Tests the NOT IN operator. Problems arose in code-generation because
* the column allows nulls. */
@Test public void testNotIn() {