• unknown's avatar
    Implementation of WL#2897: Complete definer support in the stored routines. · 9a1fed13
    unknown authored
    The idea is to add DEFINER-clause in CREATE PROCEDURE and CREATE FUNCTION
    statements. Almost all support of definer in stored routines had been already
    done before this patch.
    
    NOTE: this patch changes behaviour of dumping stored routines in mysqldump.
    Before this patch, mysqldump did not dump DEFINER-clause for stored routines
    and this was documented behaviour. In order to get full information about stored
    routines, one should have dumped mysql.proc table. This patch changes this
    behaviour, so that DEFINER-clause is dumped.
    
    Since DEFINER-clause is not supported in CREATE PROCEDURE | FUNCTION statements
    before this patch, the clause is covered by additional version-specific comments.
    
    
    client/mysqldump.c:
      Updated the code for dumping stored routines: cover DEFINER-clause
      into version-specific comment.
    mysql-test/r/gis.result:
      Updated result file after adding DEFINER-clause.
    mysql-test/r/information_schema.result:
      Updated result file after adding DEFINER-clause.
    mysql-test/r/mysqldump.result:
      Updated result file after adding DEFINER-clause.
    mysql-test/r/rpl_ddl.result:
      Updated result file after adding DEFINER-clause.
    mysql-test/r/rpl_sp.result:
      Updated result file after adding DEFINER-clause.
    mysql-test/r/rpl_trigger.result:
      Updated result file after adding DEFINER-clause.
    mysql-test/r/sp-security.result:
      Updated result file after adding DEFINER-clause.
    mysql-test/r/sp.result:
      Updated result file after adding DEFINER-clause.
    mysql-test/r/sql_mode.result:
      Updated result file after adding DEFINER-clause.
    mysql-test/t/sp-security.test:
      Updated result file after adding DEFINER-clause.
    sql/sp.cc:
      Added DEFINER-clause.
    sql/sp_head.cc:
      Added a new convenient variant of set_definer() operation.
    sql/sp_head.h:
      Updated result file after adding DEFINER-clause.
    sql/sql_lex.h:
      Renamed trigger_definition_begin into stmt_definition_begin to be used for
      triggers and stored routines.
    sql/sql_parse.cc:
      Check DEFINER-clause.
    sql/sql_trigger.cc:
      Renamed trigger_definition_begin into stmt_definition_begin to be used for
      triggers and stored routines.
    sql/sql_yacc.yy:
      Added DEFINER-clause.
    9a1fed13
sp.cc 52.6 KB