[
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)