[MDEV-16141] set table options per database Created: 2018-05-11  Updated: 2023-12-22

Status: Open
Project: MariaDB Server
Component/s: Plugins
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: Sergei Golubchik Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None

Issue Links:
Relates
relates to MDEV-16133 User manageable encryption keys Open

 Description   

One can specify default charset and collation as database options, for example:

create database foo default character set = sjis;

and then when creating a table, it'll take table's default charset and collation from the database.

There's no logical reason why it should not be supported for other table options, but it doesn't. This task is about fixing it.

Thoughts:

  • to support various engine-specific options (MDEV-16133) it must allow arbitrary key=value pairs, as the storage engine plugin might be unavailable when the database is created.
  • perhaps we could only allow arbitrary key=value pairs unless IGNORE_BAD_TABLE_OPTIONS mode is set.
  • should one be able to provide db-level defaults for all table options or only for HA_TOPTION_SYSVAR kind?
  • and if the answer to the previous question is yes, shouldn't all table options have a sysvar as a default? When would it make sense not to have a sysvar for a default?

Generated at Thu Feb 08 08:26:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.