[MDEV-12219] Discard temporary undo logs at transaction commit Created: 2017-03-09 Updated: 2017-03-18 Resolved: 2017-03-13 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | None |
| Fix Version/s: | 10.2.5 |
| Type: | Bug | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | performance, temporary, transactions | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
Starting with MySQL 5.7, temporary tables in InnoDB are handled differently from persistent tables. Because temporary tables are private to a connection, concurrency control and multi-versioning (MVCC) are not applicable. For performance reasons, purge is disabled as well. Rollback is supported for temporary tables. Because MVCC and purge are disabled for temporary tables, we should discard all temporary undo logs already at transaction commit, just like we discard the persistent insert_undo logs. Currently, update_undo logs are being preserved. |
| Comments |
| Comment by Marko Mäkelä [ 2017-03-10 ] |
| Comment by Jan Lindström (Inactive) [ 2017-03-13 ] |
|
Ok to push after you have added comments on places where I had questions. |