[
https://issues.apache.org/jira/browse/CALCITE-3137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Haisheng Yuan updated CALCITE-3137:
-----------------------------------
Description:
Add the following test to SqlToRelConverterTest.java.
{code:java}
@Test
public void testRecontructStructFields() {
final String sql = "select HOME_ADDRESS from EMP_ADDRESS ";
sql(sql).convertsTo(
"LogicalProject(HOME_ADDRESS=[NEW($1.CITY, $1.ZIP, $1.STATE,
$2.STREET):ObjectSqlType(ADDRESS) NOT NULL])\n"
+ " LogicalTableScan(table=[[CATALOG, SALES, EMP_ADDRESS]])"
);
}
{code}
Error:
{code:java}
java.lang.AssertionError: wrong operand count 4 for NEW
at org.apache.calcite.util.Litmus$1.fail(Litmus.java:31)
at
org.apache.calcite.sql.SqlPrefixOperator.validRexOperands(SqlPrefixOperator.java:100)
at org.apache.calcite.rex.RexCall.<init>(RexCall.java:86)
at
org.apache.calcite.rex.RexBuilder.makeNewInvocation(RexBuilder.java:494)
at
org.apache.calcite.sql2rel.RelStructuredTypeFlattener.restructure(RelStructuredTypeFlattener.java:249)
at
org.apache.calcite.sql2rel.RelStructuredTypeFlattener.restructureFields(RelStructuredTypeFlattener.java:227)
at
org.apache.calcite.sql2rel.RelStructuredTypeFlattener.rewrite(RelStructuredTypeFlattener.java:206)
at
org.apache.calcite.sql2rel.SqlToRelConverter.flattenTypes(SqlToRelConverter.java:468)
at
org.apache.calcite.test.SqlToRelTestBase$TesterImpl.convertSqlToRel(SqlToRelTestBase.java:614)
{code}
was:
Add the following test to SqlToRelConverterTest.java.
{code:java}
@Test
public void testRecontructStructFields() {
final String sql = "select HOME_ADDRESS from EMP_ADDRESS ";
sql(sql).convertsTo(
"LogicalProject(HOME_ADDRESS=[NEW($1.CITY, $1.ZIP, $1.STATE,
$2.STREET):ObjectSqlType(ADDRESS) NOT NULL])\n"
+ " LogicalTableScan(table=[[CATALOG, SALES, EMP_ADDRESS]])"
);
}
{code}
Error:
{code:java}
java.lang.AssertionError: wrong operand count 4 for NEW
at org.apache.calcite.util.Litmus$1.fail(Litmus.java:31)
at
org.apache.calcite.sql.SqlPrefixOperator.validRexOperands(SqlPrefixOperator.java:100)
at org.apache.calcite.rex.RexCall.<init>(RexCall.java:86)
at
org.apache.calcite.rex.RexBuilder.makeNewInvocation(RexBuilder.java:494)
at
org.apache.calcite.sql2rel.RelStructuredTypeFlattener.restructure(RelStructuredTypeFlattener.java:249)
at
org.apache.calcite.sql2rel.RelStructuredTypeFlattener.restructureFields(RelStructuredTypeFlattener.java:227)
at
org.apache.calcite.sql2rel.RelStructuredTypeFlattener.rewrite(RelStructuredTypeFlattener.java:206)
at
org.apache.calcite.sql2rel.SqlToRelConverter.flattenTypes(SqlToRelConverter.java:468)
at
org.apache.calcite.test.SqlToRelTestBase$TesterImpl.convertSqlToRel(SqlToRelTestBase.java:614)
{code}
The assertion should be removed.
> AssertionError when reconstructing STRUCTURED type fields
> ---------------------------------------------------------
>
> Key: CALCITE-3137
> URL: https://issues.apache.org/jira/browse/CALCITE-3137
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Haisheng Yuan
> Priority: Major
>
> Add the following test to SqlToRelConverterTest.java.
> {code:java}
> @Test
> public void testRecontructStructFields() {
> final String sql = "select HOME_ADDRESS from EMP_ADDRESS ";
> sql(sql).convertsTo(
> "LogicalProject(HOME_ADDRESS=[NEW($1.CITY, $1.ZIP, $1.STATE,
> $2.STREET):ObjectSqlType(ADDRESS) NOT NULL])\n"
> + " LogicalTableScan(table=[[CATALOG, SALES, EMP_ADDRESS]])"
> );
> }
> {code}
> Error:
> {code:java}
> java.lang.AssertionError: wrong operand count 4 for NEW
> at org.apache.calcite.util.Litmus$1.fail(Litmus.java:31)
> at
> org.apache.calcite.sql.SqlPrefixOperator.validRexOperands(SqlPrefixOperator.java:100)
> at org.apache.calcite.rex.RexCall.<init>(RexCall.java:86)
> at
> org.apache.calcite.rex.RexBuilder.makeNewInvocation(RexBuilder.java:494)
> at
> org.apache.calcite.sql2rel.RelStructuredTypeFlattener.restructure(RelStructuredTypeFlattener.java:249)
> at
> org.apache.calcite.sql2rel.RelStructuredTypeFlattener.restructureFields(RelStructuredTypeFlattener.java:227)
> at
> org.apache.calcite.sql2rel.RelStructuredTypeFlattener.rewrite(RelStructuredTypeFlattener.java:206)
> at
> org.apache.calcite.sql2rel.SqlToRelConverter.flattenTypes(SqlToRelConverter.java:468)
> at
> org.apache.calcite.test.SqlToRelTestBase$TesterImpl.convertSqlToRel(SqlToRelTestBase.java:614)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)