1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2008 Sun Microsystems, Inc.
4
* Copyright (C) 2008 Sun Microsystems
6
6
* This program is free software; you can redistribute it and/or modify
7
7
* it under the terms of the GNU General Public License as published by
17
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
#ifndef DRIZZLED_FUNCTION_GET_USER_VAR_H
21
#define DRIZZLED_FUNCTION_GET_USER_VAR_H
23
#include <drizzled/function/func.h>
24
#include <drizzled/lex_string.h>
20
#ifndef DRIZZLED_FUNCTIONS_GET_USER_VAR_H
21
#define DRIZZLED_FUNCTIONS_GET_USER_VAR_H
29
23
class user_var_entry;
24
#include <drizzled/functions/func.h>
31
26
class Item_func_get_user_var :public Item_func
33
28
user_var_entry *var_entry;
34
29
Item_result m_cached_result_type;
38
32
LEX_STRING name; // keep it public
39
Item_func_get_user_var(Session &session_arg, LEX_STRING a):
41
m_cached_result_type(STRING_RESULT),
33
Item_func_get_user_var(LEX_STRING a):
34
Item_func(), m_cached_result_type(STRING_RESULT), name(a) {}
45
35
enum Functype functype() const { return GUSERVAR_FUNC; }
46
36
LEX_STRING get_name() { return name; }
49
type::Decimal *val_decimal(type::Decimal*);
39
my_decimal *val_decimal(my_decimal*);
50
40
String *val_str(String* str);
51
41
void fix_length_and_dec();
52
42
virtual void print(String *str, enum_query_type query_type);
62
52
bool eq(const Item *item, bool binary_cmp) const;
65
} /* namespace drizzled */
67
#endif /* DRIZZLED_FUNCTION_GET_USER_VAR_H */
55
#endif /* DRIZZLED_FUNCTIONS_GET_USER_VAR_H */