[MDEV-15116] Wrong error code/message 1478: 'Table storage engine 'InnoDB' does not support the create option 'ENCRYPTION_KEY_ID' Created: 2018-01-29 Updated: 2022-02-21 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Encryption, Storage Engine - InnoDB |
| Affects Version/s: | 10.1, 10.1.29, 10.2 |
| Fix Version/s: | 10.2 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Elena Stepanova | Assignee: | Vladislav Lesin |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
ALTER in following test case produces an unexpected error message/code:
The change was introduced in 10.1.29 by this commit:
Judging by test result modifications in the commit, it was intentional. However, it is really wrong and misleading, the table option is obviously supported, it's just the key value that's wrong. |
| Comments |
| Comment by Marko Mäkelä [ 2021-04-26 ] | |||||
|
serg, how could this be fixed? I seem to remember that you are reluctant to add storage engine specific error messages. | |||||
| Comment by Sergei Golubchik [ 2021-04-28 ] | |||||
|
Yes, to the server-wide errmsg-utf8.txt file. But InnoDB does that in many places, and it's quite fine:
I cannot say if it's applicable to this particular case as I cannot understand from the commit 88edb1b3edc, how it had caused ER_ILLEGAL_HA_CREATE_OPTION to appear. | |||||
| Comment by Marko Mäkelä [ 2021-09-28 ] | |||||
|
It looks like the easiest fix of this would be to allow create_table_info_t::create_options_are_invalid() and create_table_info_t::check_table_options() construct a complete string, such as ENCRYPTION_KEY_ID=9, possibly in a fixed-length data member of create_table_info_t. We also claim that ROW_FORMAT is not supported, when referring to specific ROW_FORMAT values under certain circumstances. |