00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #pragma once
00021
00022 #include <drizzled/function/func.h>
00023 #include <drizzled/lex_string.h>
00024
00025 namespace drizzled {
00026
00027 Item* get_system_var(Session*, sql_var_t, str_ref name, str_ref component);
00028
00029
00030
00031 class Item_func_get_system_var : public Item_func
00032 {
00033 sys_var *var;
00034 sql_var_t var_type;
00035 str_ref component;
00036
00037 public:
00038 Item_func_get_system_var(sys_var *var_arg, sql_var_t var_type_arg, str_ref component_arg, const char *name_arg, size_t name_len_arg);
00039 bool fix_fields(Session *session, Item **ref);
00040
00041
00042
00043
00044 double val_real() { assert(0); return 0.0; }
00045 int64_t val_int() { assert(0); return 0; }
00046 String* val_str(String*) { assert(0); return 0; }
00047 void fix_length_and_dec() { assert(0); }
00048
00049 const char *func_name() const { return "get_system_var"; }
00050 };
00051
00052 }
00053