WL#5872: avoid using global heap memory to remember autoincrement values for statement-based binlog
Affects: Server-5.6 — Status: Complete — Priority: Medium
This is a sub-part of WL#5774 "Decrease number of malloc's for normal DML queries". In WL#3146 "Less locking when inserting in an autoincrement column" we added class Discrete_intervals_list, and use it to keep track of autoincrement values inserted by statement, to store those values into the statement-based binary log. As long as WL#3404 "new binlog event Insert_id_list_event to store multiple auto_increment intervals" is not implemented, only the first interval of Discrete_intervals_list is needed. So it makes sense to store the interval as a member of Discrete_intervals_list, rather than allocating it on the global heap with new(). This is to save one new() per statement inserting into an auto-increment column. So this task is about writing a simplified Discrete_intervals_list which works like above.
Copyright (c) 2000, 2017, Oracle Corporation and/or its affiliates. All rights reserved.