Expand description
EXPLAIN ... AS TEXT support for LIR structures.
The format adheres to the following conventions:
- In general, every line that starts with an uppercase character
corresponds to a
Planvariant. - Whenever the variant has an attached
~Plan, the printed name is$V::$Pwhere$Videntifies the variant and$Pthe plan. - The fields of a
~Planstruct attached to aPlanare rendered as if they were part of the variant themself. - Non-recursive parameters of each sub-plan are written as
$key=$valpairs on the same line or as lowercase$keyfields on indented lines. - A single non-recursive parameter can be written just as
$val.
Structsยง
- Arrangement ๐
- Helper struct for rendering an arrangement.
- Permutation ๐
- Helper struct for rendering a permutation.
- Plan
Annotations ๐ - Annotations for physical plans.
Functionsยง
- fmt_
join_ ๐chain - Format a join implementation chain like
%0:t[#0{a}] ยป %1:u[#0{c}] ยป %2[ร]. - fmt_
join_ ๐key_ brackets - Render
[k1, k2, โฆ]for a non-empty join key, or[ร]for a cross product. - humanize_
input_ ๐name - Render a join input as
%pos:nameif we can dig aGetout ofplan, otherwise just%pos. Mirrorsdig_name_from_exprinsrc/expr/src/explain/text.rsfor the MIREXPLAIN OPTIMIZED PLANoutput.