diff options
Diffstat (limited to 'sql/sp_rcontext.cc')
-rw-r--r-- | sql/sp_rcontext.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/sql/sp_rcontext.cc b/sql/sp_rcontext.cc index 4009f8dce30..2e9ae23d7f9 100644 --- a/sql/sp_rcontext.cc +++ b/sql/sp_rcontext.cc @@ -30,6 +30,33 @@ #include "sql_acl.h" // SELECT_ACL #include "sql_parse.h" // check_table_access + +Sp_rcontext_handler_local sp_rcontext_handler_local; +Sp_rcontext_handler_package_body sp_rcontext_handler_package_body; + +sp_rcontext *Sp_rcontext_handler_local::get_rcontext(sp_rcontext *ctx) const +{ + return ctx; +} + +sp_rcontext *Sp_rcontext_handler_package_body::get_rcontext(sp_rcontext *ctx) const +{ + return ctx->m_sp->m_parent->m_rcontext; +} + +const LEX_CSTRING *Sp_rcontext_handler_local::get_name_prefix() const +{ + return &empty_clex_str; +} + +const LEX_CSTRING *Sp_rcontext_handler_package_body::get_name_prefix() const +{ + static const LEX_CSTRING sp_package_body_variable_prefix_clex_str= + {C_STRING_WITH_LEN("PACKAGE_BODY.")}; + return &sp_package_body_variable_prefix_clex_str; +} + + /////////////////////////////////////////////////////////////////////////// // sp_rcontext implementation. /////////////////////////////////////////////////////////////////////////// |