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
tables.

This test:
https://github.com/MariaDB/server/blob/5.5/mysql-test/t/plugin_innodb.test
verifies that mysql.plugin works when altered to InnoDB

This test:
https://github.com/MariaDB/server/blob/10.1/mysql-test/suite/innodb/t/system_tables.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.

Regards,
Sergei
Chief Architect MariaDB
and secur...@mariadb.org

_______________________________________________
Mailing list: https://launchpad.net/~maria-discuss
Post to     : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to