Gleb Kanterov created BEAM-6401:
-----------------------------------
Summary: NullPointerException and regression in BeamCalcRel
Key: BEAM-6401
URL: https://issues.apache.org/jira/browse/BEAM-6401
Project: Beam
Issue Type: Bug
Components: dsl-sql
Reporter: Gleb Kanterov
Assignee: Andrew Pilloud
Test case to reproduce:
{code}
Schema schema =
Schema.builder()
.addNullableField("f0", Schema.FieldType.BOOLEAN)
.build();
String sql =
"SELECT SUM(case when coalesce(f0, true) = true then 1 else 0 end) " +
"FROM PCOLLECTION";
List<Row> rows = ImmutableList.of(
Row.withSchema(schema).addValue(false).build(),
Row.withSchema(schema).addValue(true).build(),
Row.withSchema(schema).addValue(null).build());
PCollection<Row> input = pipeline.apply("rows",
Create.of(rows).withRowSchema(schema));
PAssert.that(input.apply(SqlTransform.query(sql))).satisfies(matchesScalar(2));
pipeline.run();
{code}
Similar test case doesn't throw NPE, but fails:
{code}
Schema schema =
Schema.builder()
.addNullableField("f0", Schema.FieldType.BOOLEAN)
.build();
String sql =
"SELECT SUM(case when coalesce(f0, false) = true then 1 else 0 end) " +
"FROM PCOLLECTION";
List<Row> rows = ImmutableList.of(
Row.withSchema(schema).addValue(false).build(),
Row.withSchema(schema).addValue(true).build(),
Row.withSchema(schema).addValue(null).build());
PCollection<Row> input = pipeline.apply("rows",
Create.of(rows).withRowSchema(schema));
PAssert.that(input.apply(SqlTransform.query(sql))).satisfies(matchesScalar(1));
pipeline.run();
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)