[ 
https://issues.apache.org/jira/browse/CALCITE-6792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated CALCITE-6792:
------------------------------------
    Labels: pull-request-available  (was: )

>  RelJsonReader failed to read RelJsonWriter output if 'NaN' or 'Infinity' 
> approximate numerics are present
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-6792
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6792
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.38.0
>            Reporter: Evgeny Stanilovsky
>            Priority: Major
>              Labels: pull-request-available
>
> Simple reproduser is below, place it into RelWriterTest
> {noformat}
>   @Test void testInf() {
>       Frameworks.withPlanner((cluster, relOptSchema, rootSchema) -> {
>         final RexBuilder rexBuilder = cluster.getRexBuilder();
>         final FrameworkConfig config = RelBuilderTest.config().build();
>         final RelBuilder builder = RelBuilder.create(config);
>  
>         RelDataType doubleType = 
> cluster.getTypeFactory().builder().add("name",
>             
> cluster.getTypeFactory().createSqlType(SqlTypeName.DOUBLE)).build();
>  
>         final RelDataType doubleTypeLit =
>             cluster.getTypeFactory().createSqlType(SqlTypeName.DOUBLE);
>         RexLiteral lit = 
> rexBuilder.makeApproxLiteral(Double.POSITIVE_INFINITY, // <---
>             doubleTypeLit);
>         RelNode vals = builder.values(Collections.nCopies(1, List.of(lit)), 
> doubleType).build();
>  
>         final RelJsonWriter writer = new RelJsonWriter();
>         vals.explain(writer);
>         String serialized = writer.asString();
>  
>         SchemaPlus schema = rootSchema.add("hr",
>             new ReflectiveSchema(new HrSchema()));
>         final RelJsonReader reader =
>             new RelJsonReader(cluster, relOptSchema, schema);
>         RelNode node;
>         try {
>           node = reader.read(serialized); // <- raised from here
>         } catch (IOException e) {
>           throw TestUtil.rethrow(e);
>         }
>         return RelOptUtil.dumpPlan("", node, SqlExplainFormat.TEXT,
>             SqlExplainLevel.EXPPLAN_ATTRIBUTES);
>       });
>   }
> {noformat}
> will throw: com.fasterxml.jackson.core.JsonParseException: Non-standard token 
> 'Infinity': enable `JsonReadFeature.ALLOW_NON_NUMERIC_NUMBERS` to allow



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to