Only update the record when fields have changed for token and metadata programs #187
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.
Context
While observing postgres logs I saw the same record (a collection mint) being updated over and over again from be referenced in bubblegum mint instructions. The fields aren't different on the asset but its slot is updating. When the update happens the row is locked because it has to update indexes. This causes other processes to wait to do the same thing causing a major bottleneck.
Change
Expand the where clause on the update to only update the record when the slot is larger and any of the fields have changed.