17
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
#ifndef DRIZZLED_SQL_ERROR_H
21
#define DRIZZLED_SQL_ERROR_H
23
#include <drizzled/sql_alloc.h>
24
#include "drizzled/lex_string.h"
20
28
class DRIZZLE_ERROR: public Sql_alloc
31
static const uint32_t NUM_ERRORS= 4;
23
32
enum enum_warning_level
24
33
{ WARN_LEVEL_NOTE, WARN_LEVEL_WARN, WARN_LEVEL_ERROR, WARN_LEVEL_END};
27
36
enum_warning_level level;
30
DRIZZLE_ERROR(THD *thd, uint32_t code_arg, enum_warning_level level_arg,
39
DRIZZLE_ERROR(Session *session, uint32_t code_arg, enum_warning_level level_arg,
31
40
const char *msg_arg)
32
41
:code(code_arg), level(level_arg)
35
set_msg(thd, msg_arg);
44
set_msg(session, msg_arg);
37
void set_msg(THD *thd, const char *msg_arg);
46
void set_msg(Session *session, const char *msg_arg);
40
DRIZZLE_ERROR *push_warning(THD *thd, DRIZZLE_ERROR::enum_warning_level level,
49
DRIZZLE_ERROR *push_warning(Session *session, DRIZZLE_ERROR::enum_warning_level level,
41
50
uint32_t code, const char *msg);
42
void push_warning_printf(THD *thd, DRIZZLE_ERROR::enum_warning_level level,
51
void push_warning_printf(Session *session, DRIZZLE_ERROR::enum_warning_level level,
43
52
uint32_t code, const char *format, ...);
44
void drizzle_reset_errors(THD *thd, bool force);
45
bool mysqld_show_warnings(THD *thd, uint32_t levels_to_show);
53
void drizzle_reset_errors(Session *session, bool force);
54
bool mysqld_show_warnings(Session *session,
55
std::bitset<DRIZZLE_ERROR::NUM_ERRORS> &levels_to_show);
47
57
extern const LEX_STRING warning_level_names[];
59
#endif /* DRIZZLED_SQL_ERROR_H */