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

Andrew Kyle Purtell updated PHOENIX-7919:
-----------------------------------------
    Description: {{EXPLAIN (FORMAT JSON) <stmt>}} returns a single VARCHAR cell 
whose value is the Jackson serialization of the in-memory 
{{ExplainPlanAttributes}} tree. A new {{ExplainJsonRenderer}} owns a private 
static {{ObjectWriter}} configured for the EXPLAIN JSON contract and a 
{{DefaultPrettyPrinter}} whose {{DefaultIndenter}} is set on both the object 
and array indenters, so the output is human readable with two space indentation 
for both objects and arrays, {{render(...)}} wraps {{JsonProcessingException}} 
as {{SQLException}}. 
{{PhoenixStatement#ExecutableExplainStatement.compilePlan}} branches on 
{{getOptions().getFormat()}}. {{TEXT}} is unchanged. {{JSON}} skips 
{{renderTopOfPlanText}} and emits exactly one row carrying the rendered 
document, with the three plan-total estimate cells attached to the first row. 
{{regionLocations}} populates under {{(REGIONS, FORMAT JSON)}} and is {{null}} 
otherwise.

> Support EXPLAIN FORMAT JSON
> ---------------------------
>
>                 Key: PHOENIX-7919
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7919
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Andrew Kyle Purtell
>            Assignee: Andrew Kyle Purtell
>            Priority: Major
>             Fix For: PHOENIX-7876-feature
>
>
> {{EXPLAIN (FORMAT JSON) <stmt>}} returns a single VARCHAR cell whose value is 
> the Jackson serialization of the in-memory {{ExplainPlanAttributes}} tree. A 
> new {{ExplainJsonRenderer}} owns a private static {{ObjectWriter}} configured 
> for the EXPLAIN JSON contract and a {{DefaultPrettyPrinter}} whose 
> {{DefaultIndenter}} is set on both the object and array indenters, so the 
> output is human readable with two space indentation for both objects and 
> arrays, {{render(...)}} wraps {{JsonProcessingException}} as 
> {{SQLException}}. {{PhoenixStatement#ExecutableExplainStatement.compilePlan}} 
> branches on {{getOptions().getFormat()}}. {{TEXT}} is unchanged. {{JSON}} 
> skips {{renderTopOfPlanText}} and emits exactly one row carrying the rendered 
> document, with the three plan-total estimate cells attached to the first row. 
> {{regionLocations}} populates under {{(REGIONS, FORMAT JSON)}} and is 
> {{null}} otherwise.



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

Reply via email to