MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sql_signal.h
1 /* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
2 
3  This program is free software; you can redistribute it and/or modify
4  it under the terms of the GNU General Public License as published by
5  the Free Software Foundation; version 2 of the License.
6 
7  This program is distributed in the hope that it will be useful,
8  but WITHOUT ANY WARRANTY; without even the implied warranty of
9  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  GNU General Public License for more details.
11 
12  You should have received a copy of the GNU General Public License
13  along with this program; if not, write to the Free Software Foundation,
14  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
15 
16 #ifndef SQL_SIGNAL_H
17 #define SQL_SIGNAL_H
18 
24 {
25 protected:
32  const Set_signal_information& set)
33  : Sql_cmd(),
34  m_cond(cond),
36  {}
37 
38  virtual ~Sql_cmd_common_signal()
39  {}
40 
49  static void assign_defaults(Sql_condition *cond,
50  bool set_level_code,
51  Sql_condition::enum_warning_level level,
52  int sqlcode);
53 
60  void eval_defaults(THD *thd, Sql_condition *cond);
61 
68  int eval_signal_informations(THD *thd, Sql_condition *cond);
69 
76  bool raise_condition(THD *thd, Sql_condition *cond);
77 
83 
88  Set_signal_information m_set_signal_information;
89 };
90 
95 {
96 public:
103  const Set_signal_information& set)
104  : Sql_cmd_common_signal(cond, set)
105  {}
106 
107  virtual ~Sql_cmd_signal()
108  {}
109 
110  virtual enum_sql_command sql_command_code() const
111  {
112  return SQLCOM_SIGNAL;
113  }
114 
115  virtual bool execute(THD *thd);
116 };
117 
122 {
123 public:
130  const Set_signal_information& set)
131  : Sql_cmd_common_signal(cond, set)
132  {}
133 
134  virtual ~Sql_cmd_resignal()
135  {}
136 
137  virtual enum_sql_command sql_command_code() const
138  {
139  return SQLCOM_RESIGNAL;
140  }
141 
142  virtual bool execute(THD *thd);
143 };
144 
145 #endif
146