[ 
https://issues.apache.org/jira/browse/CALCITE-5614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17716471#comment-17716471
 ] 

Julian Hyde commented on CALCITE-5614:
--------------------------------------

Here's where we convert to string:
{code}
     // Test that toRex is the same as toJsonString -> readRex
      final String s = jsonBuilder.toJsonString(jsonRepresentation);
      RexNode deserialized2;
      try {
        deserialized2 = RelJsonReader.readRex(b.getCluster(), s);
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
{code}

I converted the commented block to 'if (false)' so at least we know the code is 
valid. Before merge we should remove 'if (false)' or remove the code entirely.

> Serialize and deserialize Sarg objects
> --------------------------------------
>
>                 Key: CALCITE-5614
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5614
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: Oliver Lee
>            Assignee: Oliver Lee
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Context: Bounded filter conditions (e.g. {{{}SUM(field> > 1 AND SUM(field) < 
> 10{}}}) are converted to calls to a [SEARCH 
> operator.|https://github.com/apache/calcite/blob/052a5cc724a889edf19c1d76ea166c0d0924a5d3/core/src/main/java/org/apache/calcite/rex/RexInterpreter.java#L224calls]
>  If this is then serialized and deserialized, it will throw an exception when 
> resolving {{{}SEARCH{}}}.
>  
>  
> To complete this ticket: Add functionality such that {{Sarg}} literals can be 
> serialized and deserialized.
>  
> {{RelJson.java}} should be updated so that {{toRex}} can serialize {{Sarg}} 
> objects
>  
> {{RexBuilder.java}} should be updated to be able to successfully deserialize 
> a JSON string that includes {{Sarg}} literals 



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

Reply via email to