← Back to team overview

maria-developers team mailing list archive

Re: [Commits] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT



Why not displaying the ignored options as comments ?


Le 08/07/2014 11:34, Sergey Vojtovich a écrit :
Hi Sergei,

frankly speaking I have no better idea. Let's give your patch a try.


On Tue, Jul 08, 2014 at 10:43:24AM +0200, Sergei Golubchik wrote:
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
- 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


Mailing list: https://launchpad.net/~maria-developers
Post to     : maria-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Follow ups