• Tatjana Azundris Nuernberg's avatar
    Bug#11758414/Bug#50614: Default storage_engine not honored when set from within a stored procedure · 083a316d
    Tatjana Azundris Nuernberg authored
    When CREATE TABLE wasn't given ENGINE=... it would determine
    the default ENGINE at parse-time rather than at execution
    time, leading to incorrect behaviour (namely, later changes
    to the default engine being ignore) when calling CREATE TABLE
    from a stored procedure.
    
    We now defer working out the default engine till execution of
    CREATE TABLE.
    
    
    mysql-test/r/sp_trans.result:
      results!
    mysql-test/t/sp_trans.test:
      Show that CREATE TABLE (called from store routine) heeds
      any changes after CREATE SP / parse-time. Show that explicitly
      requesting an ENGINE still works.
    sql/sql_parse.cc:
      If no ENGINE=... was given at parse-time, determine default
      engine at execution time of CREATE TABLE.
    sql/sql_yacc.yy:
      If CREATE TABLE is not given ENGINE=..., don't bother
      figuring out the default engine during parsing; we'll
      do it at execution time instead to be aware of the
      latest updates.
    083a316d
sp_trans.test 15.5 KB