Browse Source

Part of patch for BUG#11986: make sp_head::m_body_begin pointer

private and provide a setter for it. The setter will be used to
construct UTF-query in the following patches.


sql/sp_head.cc:
  Make sp_head::m_body_begin pointer private.
sql/sp_head.h:
  Make sp_head::m_body_begin pointer private.
sql/sql_yacc.yy:
  Make sp_head::m_body_begin pointer private.
pull/374/head
unknown 19 years ago
parent
commit
e57122a7c0
  1. 7
      sql/sp_head.cc
  2. 5
      sql/sp_head.h
  3. 8
      sql/sql_yacc.yy

7
sql/sp_head.cc

@ -2053,6 +2053,13 @@ sp_head::set_info(longlong created, longlong modified,
}
void
sp_head::set_body_begin_ptr(Lex_input_stream *lip, const char *begin_ptr)
{
m_body_begin= begin_ptr;
}
void
sp_head::set_definer(const char *definer, uint definerlen)
{

5
sql/sp_head.h

@ -178,8 +178,11 @@ public:
// Pointers set during parsing
const char *m_param_begin;
const char *m_param_end;
private:
const char *m_body_begin;
public:
/*
Security context for stored routine which should be run under
definer privileges.
@ -297,6 +300,8 @@ public:
void set_info(longlong created, longlong modified,
st_sp_chistics *chistics, ulong sql_mode);
void set_body_begin_ptr(Lex_input_stream *lip, const char *begin_ptr);
void set_definer(const char *definer, uint definerlen);
void set_definer(const LEX_STRING *user_name, const LEX_STRING *host_name);

8
sql/sql_yacc.yy

@ -1872,7 +1872,7 @@ ev_sql_stmt:
bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
lex->sphead->m_chistics= &lex->sp_chistics;
lex->sphead->m_body_begin= lip->get_cpp_ptr();
lex->sphead->set_body_begin_ptr(lip, lip->get_cpp_ptr());
}
ev_sql_stmt_inner
{
@ -2066,7 +2066,7 @@ create_function_tail:
Lex_input_stream *lip= thd->m_lip;
lex->sphead->m_chistics= &lex->sp_chistics;
lex->sphead->m_body_begin= lip->get_cpp_tok_start();
lex->sphead->set_body_begin_ptr(lip, lip->get_cpp_tok_start());
}
sp_proc_stmt
{
@ -11489,7 +11489,7 @@ trigger_tail:
bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
lex->sphead->m_chistics= &lex->sp_chistics;
lex->sphead->m_body_begin= lip->get_cpp_ptr();
lex->sphead->set_body_begin_ptr(lip, lip->get_cpp_ptr());
}
sp_proc_stmt /* $16 */
{ /* $17 */
@ -11592,7 +11592,7 @@ sp_tail:
Lex_input_stream *lip= thd->m_lip;
lex->sphead->m_chistics= &lex->sp_chistics;
lex->sphead->m_body_begin= lip->get_cpp_tok_start();
lex->sphead->set_body_begin_ptr(lip, lip->get_cpp_tok_start());
}
sp_proc_stmt
{

Loading…
Cancel
Save