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

Benchao Li commented on CALCITE-4989:
-------------------------------------

[~zabetak] Thanks for your tests, the 'FORMAT JSON' currently indeed has some 
problems.

Then I see there are three issues here:
1. 'JSON FORMAT' has bug in some complex cases, which should be fixed
2. nested json construct functions should produce correct results without 
'FORMAT JSON'
3. json construct functions should accept subquery

[~gavinray] Looking at your pr, it seems that you are handling #3, right?


If you agree that #1 and #2 should also be handled, I would like to help to fix 
it (maybe open another two separate issues)

> Nested JSON_OBJECT creation does not produce proper json
> --------------------------------------------------------
>
>                 Key: CALCITE-4989
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4989
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.29.0
>            Reporter: Mans Singh
>            Priority: Critical
>              Labels: json_object, pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> I am trying to create a nested json object using JSON_OBJECT and am getting a 
> json with escaped quotes.  
>  
> I have the following query in sql line :
>  
> {code:java}
> select JSON_OBJECT(
>     KEY 'level1' 
>     VALUE(
>         JSON_OBJECT(
>             KEY 'level2' 
>             VALUE(
>                  JSON_OBJECT(
>                       KEY 'level3' 
>                       VALUE 'val3')
>                  )
>              )
>          ) 
>       ) 
> from (values ('{"a":{"b":2}}')) t(v);
>  
> {code}
> And it produces the result:
>  
> {noformat}
> -------------------------------------------------------------
>                            EXPR$0                            
> -------------------------------------------------------------
> {"level1":" {\"level2\":\"{\\\"level3\\\":\\\"val3\\\"}\"}"}
> -------------------------------------------------------------
> {noformat}
>  
> I was expecting the result as follows (without quote escapes):
>  
> {noformat}
> {"level1":{"level2":{"level3":"val3"}}}
>  
> {noformat}
> Also, see examples created by Stamatis
> - 
> [https://github.com/zabetak/calcite/commit/988c13ce1ff551d6e4046a3c027ff298f79971f8]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to