Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#29380 closed Cleanup/optimization (fixed)

Add support for QuerySet.select_for_update()'s nowait and skip_locked options on MySQL 8+

Reported by: bakabiko Owned by: bakabiko
Component: Database layer (models, ORM) Version: dev
Severity: Normal Keywords: skip_locked, MYSQL, database
Cc: Adam Johnson Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Tim Graham)

MySQL 8+ supports skip_locked and nowait options but the MySQL database backend doesn't support them.

Reference: https://mysqlserverteam.com/mysql-8-0-1-using-skip-locked-and-nowait-to-handle-hot-rows/

Change History (12)

comment:1 by Tim Graham, 6 years ago

Description: modified (diff)
Easy pickings: unset
Summary: Support skip_locked argument to QuerySet.select_for_update() on MYSQL 8+Add support for QuerySet.select_for_update()'s nowait and skip_locked options on MySQL 8+
Triage Stage: UnreviewedAccepted
Type: New featureCleanup/optimization

comment:2 by Nicolas Noé, 6 years ago

Owner: changed from nobody to Nicolas Noé
Status: newassigned

comment:3 by bakabiko, 6 years ago

I already have a patch, you can assign the ticket to me.

comment:4 by Adam Johnson, 6 years ago

Cc: Adam Johnson added

comment:5 by Nicolas Noé, 6 years ago

Owner: Nicolas Noé removed
Status: assignednew

Deassigned so bakabiko can take it if he/she wants!

comment:6 by bakabiko, 6 years ago

Owner: set to bakabiko
Status: newassigned

comment:8 by Tim Graham, 6 years ago

Patch needs improvement: set

comment:9 by bakabiko, 6 years ago

Patch needs improvement: unset

comment:10 by bakabiko, 6 years ago

the pull request is updated.

comment:11 by Tim Graham <timograham@…>, 6 years ago

Resolution: fixed
Status: assignedclosed

In a7bc1aea:

Fixed #29380 -- Added support for QuerySet.select_for_update()'s nowait and skip_locked options on MySQL 8+.

comment:12 by Tim Graham <timograham@…>, 6 years ago

In 54b29e0:

[2.1.x] Fixed #29380 -- Added support for QuerySet.select_for_update()'s nowait and skip_locked options on MySQL 8+.

Backport of a7bc1aea03508f544c9dfac0f34b01996653cef4 from master

Note: See TracTickets for help on using tickets.
Back to Top