maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #07510
Re: [Commits] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT
Hi, Sergey!
On Jul 08, Sergey Vojtovich wrote:
> Hi Sergei,
>
> I believe options handling is way too confusing in general:
> - CREATE TABLE warns/errors about unknown options
> - ALTER TABLE ... ENGINE doesn't
> - ALTER TABLE ... UNKNOWN_OPTION=1 does
> - CREATE TABLE ... LIKE doesn't
This is consistent. You get a warning or an error about options that you
explicitly specify, but not about options that are implicitly ihnerited.
> - different engines may assign different meaning to the same option
> - IGNORE_BAD_TABLE_OPTIONS doesn't actually _ignore_ _bad_ options but rather
> _accepts_ _unkown_ options
Yes, I know :(
That's why I tried to say in the manual that SHOW CREATE TABLE *filters
out* invalid options, and IGNORE_BAD_TABLE_OPTIONS disables this
filtering, they are ignored and not filtered out.
> But the question is if we should show unknown options by default. I
> have no opinion: both cases are equally wrong to me.
>
> On the one hand we get unusable CREATE TABLE statement, on the other
> hand hidden metadata which may affect further statements.
>
> I'm fine with hidding unknown options that were accepted due to
> IGNORE_BAD_TABLE_OPTIONS, but hidding things that were accepted by
> fully successful ALTER TABLE statement sounds confusing.
Do you have a better idea?
My logic was - SHOW CREATE TABLE should generate a valid CREATE TABLE
statement.
Regards,
Sergei
Follow ups
References