WL#8065: True bottom-up server parser: refactoring of the EXPLAIN statement

Affects: Server-8.0   —   Status: Complete

Note: this WL is almost implemented in the context of eralier WLs.
The rest of work: EXPLAIN/DESCRIBE TABLE and EXPLAIN FOR CONNECTION.

This WL is intended to refactor EXPLAIN (and its aliases: DESCRIBE/DESC ) statement-related parser grammar rules in a pure bottom-up style to make it (grammar) context-independent for the better maintainability and extendibility.

Functional requirements

N/A

Non-functional requirements

NF-1: No performance degradation is expected.

Goals

This WL is intended to refactor the grammar of the EXPLAIN/DESCRIBE/DESC SELECT/INSERT/REPLACE/UPDATE/DELETE/FOR CONNECTION statement in a pure context-independent bottom-up style for the better maintainability and extendibility.

This WL uses the framework and the methodology of the refactoring from the WL#7199 "True bottom-up server parser: common framework for the refactoring".

User Documentation

No user-visible changes. No documentation required.

New parse tree node classes

Class name Related syntax
PT_explain_for_connection FOR CONNECTION <query-id>
PT_explain EXPLAIN/DESCRIBE/DESC SELECT/INSERT/REPLACE/UPDATE/DELETE/FOR CONNECTION ...

Removal of unneeded "global" variables and constants

  • LEX::describe
  • DESCRIBE_NONE and DESCRIBE_NORMAL