In order to make the patch for Oracle-style packages smaller, we'll do the following changes as a separate commit:
- Add Sp_handler::db_find_and_cache_routine(), to avoid duplicate combinations of db_find_routine() followed by sp_cache_insert()
- Add append_suid() and append_comment(), helper functions to share between show for CREATE PROCEDURE and show for CREATE PACKAGE
- Move the code responsible to clone recursive SP routines from Sp_handler::sp_find_routine() into a new method Sp_handler::sp_clone_and_link_routine()
- Add "const" qualifier to LEX_CSTRING parameters to LEX::make_sp_name()
- Add LEX::set_user_variable(), to reduce code duplication in the grammar creating Item_func_set_user_var's
- Add LEX::call_statement_start(), to reduce code duplication in the grammar for "call:"
- Add LEX::add_grant_command(), to reduce code duplication in the grammar for "revoke_command:" and "grant_command:"