← Back to team overview

maria-discuss team mailing list archive

Re: MariaDB Server 10.3 notes


Hi, Pavel!

On Oct 13, Pavel Ivanov wrote:
> > For example, in MariaDB one can use InnoDB
> > for system tables too. Always could, even in 5.5, it's not a new
> > feature. There is no code that limits system tables to a specific
> > storage engine.
> This is not true even in MariaDB 10.2:
> https://github.com/MariaDB/server/blob/10.2/storage/innobase/row/row0mysql.cc#L5398.
> And that's only the explicit restriction. Even when you remove that
> you still need a lot of other code changes to make MariaDB work with
> system tables using InnoDB. There are many places assuming that system
> tables are not transactional.

That's basically what I said - the server doesn't limit system tables to
a specific engine. Every engine can decide for itself. And InnoDB,
apparently, doesn't want to create mysql.host, mysql.user, and mysql.db

This test:
verifies that mysql.plugin works when altered to InnoDB

This test:
verifies that mysql.time_zone_name works when altered to InnoDB

This is not a very popular use case, we had no bug reports about
mysql.host, mysql.user, and mysql.db in InnoDB. Otherwise this would've
been fixed too.

Chief Architect MariaDB
and security@xxxxxxxxxxx