opt: store and display mutation arbiter indexes in opt tests and EXPLAIN#53172
Merged
Conversation
Member
629f6fa to
5f8cc47
Compare
Member
|
LGTM I'd also plumb them through to the exec factory so they can be shown in the regular EXPLAIN. These changes can be backported after the branching though, they're very low risk. |
c884082 to
6f36167
Compare
Contributor
Author
|
I've added the arbiters to EXPLAIN output. Is it odd that they are displayed in |
13d4351 to
2e67b88
Compare
RaduBerinde
approved these changes
Aug 26, 2020
RaduBerinde
left a comment
Member
There was a problem hiding this comment.
Cool! I think it's fine to omit in non-verbose EXPLAIN (OPT).
Contributor
Author
|
bors r=RaduBerinde |
Contributor
|
Build failed (retrying...): |
Contributor
|
Build failed (retrying...): |
Contributor
|
Build failed (retrying...): |
Contributor
|
Build failed: |
This commit adds the list of arbiter indexes to opt test expression trees. In order to facilitate this, the list of index ordinals that are arbiters are stored on `MutationPrivate` for `Upsert` and `Insert` expressions. This commit also formats the canary column for `UPSERT`s like other columns, instead of a plain column ID. Additionally, the `optgen` error message produced when referencing a type in an `*.opt` file that has not been registered is now less ambiguous. With the previous error message it was unclear if it was referencing `opt/metadata.go` or `optgen/metadata.go`. Release justification: low-risk update to new functionality Release note: None
This commit adds a list of arbiter indexes to EXPLAIN output for UPSERT and INSERT ON CONFLICT statements. These arbiters are used to detect conflicts. Release justification: low-risk update to new functionality Release note (sql change): The output of EXPLAIN for UPSERT and INSERT ON CONFLICT statements now includes a list of arbiter indexes. These arbiters are the indexes used for detecting conflicts between the insert row and the existing rows in the table.
2e67b88 to
e80fd72
Compare
Contributor
Author
|
bors r=RaduBerinde |
Contributor
|
Build failed (retrying...): |
Contributor
|
Build succeeded: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
opt: store mutation arbiter indexes and display in opt tests
This commit adds the list of arbiter indexes to opt test expression
trees. In order to facilitate this, the list of index ordinals that are
arbiters are stored on
MutationPrivateforUpsertandInsertexpressions.
This commit also formats the canary column for
UPSERTs like othercolumns, instead of a plain column ID.
Additionally, the
optgenerror message produced when referencing atype in an
*.optfile that has not been registered is now lessambiguous. With the previous error message it was unclear if it was
referencing
opt/metadata.gooroptgen/metadata.go.Release justification: low-risk update to new functionality
Release note: None
opt: display arbiter indexes in EXPLAIN output
This commit adds a list of arbiter indexes to EXPLAIN output for UPSERT
and INSERT ON CONFLICT statements. These arbiters are used to detect
conflicts.
Release justification: low-risk update to new functionality
Release note (sql change): The output of EXPLAIN for UPSERT and INSERT
ON CONFLICT statements now includes a list of arbiter indexes. These
arbiters are the indexes used for detecting conflicts between the insert
row and the existing rows in the table.