Hi, Nikita, On Oct 09, Nikita Malyavin wrote:
Overall I don't like the savepoint_offset design. Even Innodb only uses it to store a local counter, which I also had in an early implementation (but then found that a pointer itself can identify it). Only binlog is lucky to use it on purpose. Also if a plugin is uninstalled, the offset memory will never be reused. And if a dynamic size is required for a savepoint, like we have, it will not be automatically deallocated.
the idea was that a server does the mapping of savepoint name to savepoint data, and the storage engine doesn't need to duplicate that with is own hash. it's not only about avoiding memory allocations, although it's a nice bonus, when it's possible. Regards, Sergei Chief Architect, MariaDB Server and security@mariadb.org