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.
Description
#1050 migrated from a for-loop-insert pattern to a for-loop-append pattern, but did not check whether or not the appended list was edited in subsequent iterations.
The former inserts the data as-is, preventing subsequent loop iterations from changing in-memory values. The latter reduces database calls to speed up the process and prevent inserts in the event a later iteration fails, but is susceptible to later iterations doing in memory manipulations of the previous insert. Making sure to append
item.copy()
fixes this issue.While this bug is present in a release, using the bugged version will result in the error shown in #1094 - integrity error because the part table will refer to a non-existent master.
sg_keys
is susceptible to this effect, but notsge_keys
as thesge_key
is decomposed with**
when appended to the inserts list.Checklist:
CITATION.cff
alter
snippet for release notes.CHANGELOG.md
with PR number and description.