-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Remove old graph structure during EquivalenceLibrary.set_entry
#11959
Conversation
One or more of the the following people are requested to review this:
|
Pull Request Test Coverage Report for Build 8178988151Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
The previous implementation of `EquivalenceLibrary.set_entry` changed the equivalence rules attached to particular nodes within the graph structure, but didn't correctly update the edges, so the graph was no longer representing the correct data, and queries within `BasisTranslator` would still use the old equivalence sets. This correctly clears out the old rules and adds the new structure when `set_entry` is used. The inner private variable `_rule_count` is replaced with `_rule_id`, since it would actually be misleading for its use to decrement it; this could cause clashes, and what's actually intended and used is that it's an id for rules.
80eb002
to
b0cc77a
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.
LGTM, but one question inline about the test coverage.
Tested locally and resolves the issue. Nice! |
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.
LGTM, thanks for adding the extra test case
) * Remove old graph structure during `EquivalenceLibrary.set_entry` The previous implementation of `EquivalenceLibrary.set_entry` changed the equivalence rules attached to particular nodes within the graph structure, but didn't correctly update the edges, so the graph was no longer representing the correct data, and queries within `BasisTranslator` would still use the old equivalence sets. This correctly clears out the old rules and adds the new structure when `set_entry` is used. The inner private variable `_rule_count` is replaced with `_rule_id`, since it would actually be misleading for its use to decrement it; this could cause clashes, and what's actually intended and used is that it's an id for rules. * Add test with parallel edges (cherry picked from commit 67e0243)
@Mergifyio backport stable/0.46 |
✅ Backports have been created
|
) * Remove old graph structure during `EquivalenceLibrary.set_entry` The previous implementation of `EquivalenceLibrary.set_entry` changed the equivalence rules attached to particular nodes within the graph structure, but didn't correctly update the edges, so the graph was no longer representing the correct data, and queries within `BasisTranslator` would still use the old equivalence sets. This correctly clears out the old rules and adds the new structure when `set_entry` is used. The inner private variable `_rule_count` is replaced with `_rule_id`, since it would actually be misleading for its use to decrement it; this could cause clashes, and what's actually intended and used is that it's an id for rules. * Add test with parallel edges (cherry picked from commit 67e0243)
) (#11963) * Remove old graph structure during `EquivalenceLibrary.set_entry` The previous implementation of `EquivalenceLibrary.set_entry` changed the equivalence rules attached to particular nodes within the graph structure, but didn't correctly update the edges, so the graph was no longer representing the correct data, and queries within `BasisTranslator` would still use the old equivalence sets. This correctly clears out the old rules and adds the new structure when `set_entry` is used. The inner private variable `_rule_count` is replaced with `_rule_id`, since it would actually be misleading for its use to decrement it; this could cause clashes, and what's actually intended and used is that it's an id for rules. * Add test with parallel edges (cherry picked from commit 67e0243) Co-authored-by: Jake Lishman <[email protected]>
) (#11962) * Remove old graph structure during `EquivalenceLibrary.set_entry` The previous implementation of `EquivalenceLibrary.set_entry` changed the equivalence rules attached to particular nodes within the graph structure, but didn't correctly update the edges, so the graph was no longer representing the correct data, and queries within `BasisTranslator` would still use the old equivalence sets. This correctly clears out the old rules and adds the new structure when `set_entry` is used. The inner private variable `_rule_count` is replaced with `_rule_id`, since it would actually be misleading for its use to decrement it; this could cause clashes, and what's actually intended and used is that it's an id for rules. * Add test with parallel edges (cherry picked from commit 67e0243) Co-authored-by: Jake Lishman <[email protected]>
) (#11963) * Remove old graph structure during `EquivalenceLibrary.set_entry` The previous implementation of `EquivalenceLibrary.set_entry` changed the equivalence rules attached to particular nodes within the graph structure, but didn't correctly update the edges, so the graph was no longer representing the correct data, and queries within `BasisTranslator` would still use the old equivalence sets. This correctly clears out the old rules and adds the new structure when `set_entry` is used. The inner private variable `_rule_count` is replaced with `_rule_id`, since it would actually be misleading for its use to decrement it; this could cause clashes, and what's actually intended and used is that it's an id for rules. * Add test with parallel edges (cherry picked from commit 67e0243) Co-authored-by: Jake Lishman <[email protected]>
…kit#11959) * Remove old graph structure during `EquivalenceLibrary.set_entry` The previous implementation of `EquivalenceLibrary.set_entry` changed the equivalence rules attached to particular nodes within the graph structure, but didn't correctly update the edges, so the graph was no longer representing the correct data, and queries within `BasisTranslator` would still use the old equivalence sets. This correctly clears out the old rules and adds the new structure when `set_entry` is used. The inner private variable `_rule_count` is replaced with `_rule_id`, since it would actually be misleading for its use to decrement it; this could cause clashes, and what's actually intended and used is that it's an id for rules. * Add test with parallel edges
Summary
The previous implementation of
EquivalenceLibrary.set_entry
changed the equivalence rules attached to particular nodes within the graph structure, but didn't correctly update the edges, so the graph was no longer representing the correct data, and queries withinBasisTranslator
would still use the old equivalence sets.This correctly clears out the old rules and adds the new structure when
set_entry
is used. The inner private variable_rule_count
is replaced with_rule_id
, since it would actually be misleading for its use to decrement it; this could cause clashes, and what's actually intended and used is that it's an id for rules.Details and comments
Fix #11958