• unknown's avatar
    Bug#24392 (SHOW ENGINE MUTEX STATUS is a synonym for SHOW INNODB STATUS) · 186e3ee5
    unknown authored
    Before this fix, the command SHOW ENGINE <name> STATUS would:
    - print a warning if the engine name is unknown,
    - proceed and implement the same behavior as SHOW ENGINE ALL STATUS,
    and list the status of all the storage engines registered.
    
    In particular, this behavior caused confusion about the command :
    SHOW ENGINE MUTEX STATUS, which as a side effect would print the status
    of the innodb engine when that engine is registered.
    
    Also, before this fix, every time an unknown engine name was substituted by
    the default engine (which happen unless SQL_MODE NO_ENGINE_SUBSTITUTION is
    set), a malformed warning was raised.
    For example, the command ALTER TABLE T1 ENGINE = X would print :
    Warnings:
    Error 1286 Unknown table engine 'X'
    
    With this fix:
    SHOW ENGINE <name> STATUS|LOGS|MUTEX
    always fails with an error when the engine <name> is unknown.
    
    For other commands, warnings about unknown engines are raised as:
    Warnings:
    Warning 1286 Unknown table engine 'X'
    
    In other words, engine substitution never affect the SHOW ENGINE command,
    since this would lead to very confusing results.
    
    
    mysql-test/r/ndb_dd_basic.result:
      Warnings for unknown engines.
    mysql-test/r/partition_innodb.result:
      Warnings for unknown engines.
    mysql-test/r/ps_1general.result:
      Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
    mysql-test/r/show_check.result:
      Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
    mysql-test/t/ps_1general.test:
      Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
    mysql-test/t/show_check.test:
      Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
    sql/sql_yacc.yy:
      Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
    186e3ee5
ps_1general.result 35.6 KB