Skip to content
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

Move duplicates from trx_t to row_prebuilt_t #1576

Open
wants to merge 5 commits into
base: 10.5
Choose a base branch
from

Conversation

t1meshift
Copy link
Contributor

The field was placed in the wrong place, so it is relocated to row_prebuilt_t. In MDEV-17814, there is a backport of the similar fix from MySQL 8.0, but it's more complicated than mine.

@dr-m
Copy link
Contributor

dr-m commented Jun 3, 2020

I think that this must be deferred until MDEV-20605 has been fixed. This is a prerequisite for MDEV-515, and could live in a MDEV-515 development branch until then.

storage/innobase/include/row0mysql.h Outdated Show resolved Hide resolved
storage/innobase/lock/lock0lock.cc Show resolved Hide resolved
@an3l an3l assigned dr-m Jun 3, 2020
@an3l an3l added this to the 10.5 milestone Jun 3, 2020
@t1meshift t1meshift requested a review from dr-m June 8, 2020 08:41
@robertbindar
Copy link
Collaborator

Hey @dr-m! Is this PR still relevent for InnoDB code? It's been sitting for a while :( and lots of changes happened.
If it's still relevant, but needs to wait more till the work you mentioned above is completed, please let me know.

@dr-m
Copy link
Contributor

dr-m commented Nov 29, 2023

In 8128a46 we added one more condition on the lock holder transaction lock->trx in lock_rec_inherit_to_gap(). While I do think that trx->duplicates is somewhat misplaced, I don’t think we can simply remove it. Perhaps we would need to remember in the lock itself if it had been created as part of executing a REPLACE or INSERT…ON DUPLICATE KEY UPDATE statement. That would seem to fix potential problems that we may currently have with multi-statement transactions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
4 participants