-
Notifications
You must be signed in to change notification settings - Fork 465
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add an EXPLAIN option to show the Equivalences
Analysis
#30690
Conversation
The Attribute framework evolved into the Analysis framework. However, the EXPLAIN code still had a bunch of things whose names referred to Attributes. This commit just renames these things and fixes some comments.
6139187
to
7ee105b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adapter parts LGTM
@@ -3917,6 +3918,7 @@ impl WithOptionName for ExplainPlanOptionName { | |||
| Self::SubtreeSize | |||
| Self::Timing | |||
| Self::Types | |||
| Self::Equivalences |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add/update a parser test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, though without a deep understanding of the explain infra changes.
7ee105b
to
6dc335e
Compare
We have a bunch of EXPLAIN options to show the results of various Analyses. These are quite useful for debugging. This PR adds an EXPLAIN option for the
Equivalences
Analysis. This makes the behavior of theEquivalences
Analysis easier to understand, especially for people who are not already familiar with all its details.Motivation
Tips for reviewer
The first 2 commits just do very minor refactorings. The main thing is in the 3rd commit.
Checklist
$T ⇔ Proto$T
mapping (possibly in a backwards-incompatible way), then it is tagged with aT-proto
label.