diff --git a/ast/ast.go b/ast/ast.go index aac9a60a02..1bad452b5b 100644 --- a/ast/ast.go +++ b/ast/ast.go @@ -702,6 +702,7 @@ const ( ExplainPlan ExplainType = "PLAN" ExplainPipeline ExplainType = "PIPELINE" ExplainEstimate ExplainType = "ESTIMATE" + ExplainQueryTree ExplainType = "QUERY TREE" ExplainCurrentTransaction ExplainType = "CURRENT TRANSACTION" ) diff --git a/parser/parser.go b/parser/parser.go index 406732afdf..3a28a31d45 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -3685,6 +3685,14 @@ func (p *Parser) parseExplain() *ast.ExplainQuery { explain.ExplainType = ast.ExplainEstimate explain.ExplicitType = true p.nextToken() + case "QUERY": + // EXPLAIN QUERY TREE + p.nextToken() + if p.currentIs(token.IDENT) && strings.ToUpper(p.current.Value) == "TREE" { + p.nextToken() + } + explain.ExplainType = ast.ExplainQueryTree + explain.ExplicitType = true case "CURRENT": // EXPLAIN CURRENT TRANSACTION p.nextToken() diff --git a/parser/testdata/02932_analyzer_rewrite_sum_column_and_constant/metadata.json b/parser/testdata/02932_analyzer_rewrite_sum_column_and_constant/metadata.json index 40a2c913ed..0967ef424b 100644 --- a/parser/testdata/02932_analyzer_rewrite_sum_column_and_constant/metadata.json +++ b/parser/testdata/02932_analyzer_rewrite_sum_column_and_constant/metadata.json @@ -1,92 +1 @@ -{ - "explain_todo": { - "stmt101": true, - "stmt102": true, - "stmt103": true, - "stmt104": true, - "stmt105": true, - "stmt106": true, - "stmt107": true, - "stmt108": true, - "stmt117": true, - "stmt118": true, - "stmt119": true, - "stmt12": true, - "stmt120": true, - "stmt121": true, - "stmt122": true, - "stmt123": true, - "stmt124": true, - "stmt13": true, - "stmt134": true, - "stmt135": true, - "stmt136": true, - "stmt137": true, - "stmt138": true, - "stmt139": true, - "stmt140": true, - "stmt141": true, - "stmt142": true, - "stmt143": true, - "stmt154": true, - "stmt155": true, - "stmt156": true, - "stmt157": true, - "stmt158": true, - "stmt159": true, - "stmt160": true, - "stmt161": true, - "stmt162": true, - "stmt163": true, - "stmt174": true, - "stmt175": true, - "stmt176": true, - "stmt177": true, - "stmt178": true, - "stmt179": true, - "stmt180": true, - "stmt181": true, - "stmt182": true, - "stmt183": true, - "stmt26": true, - "stmt27": true, - "stmt28": true, - "stmt29": true, - "stmt30": true, - "stmt36": true, - "stmt37": true, - "stmt38": true, - "stmt39": true, - "stmt40": true, - "stmt46": true, - "stmt47": true, - "stmt48": true, - "stmt49": true, - "stmt50": true, - "stmt56": true, - "stmt57": true, - "stmt58": true, - "stmt59": true, - "stmt6": true, - "stmt60": true, - "stmt69": true, - "stmt7": true, - "stmt70": true, - "stmt71": true, - "stmt72": true, - "stmt73": true, - "stmt74": true, - "stmt75": true, - "stmt76": true, - "stmt8": true, - "stmt85": true, - "stmt86": true, - "stmt87": true, - "stmt88": true, - "stmt89": true, - "stmt9": true, - "stmt90": true, - "stmt91": true, - "stmt92": true - } -} +{}