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/item/int.h>
00023
00024 namespace drizzled
00025 {
00026
00027 class Item_uint :public Item_int
00028 {
00029 public:
00030 Item_uint(const char *str_arg, uint32_t length);
00031 Item_uint(uint64_t i) :Item_int((uint64_t) i, 10) {}
00032 Item_uint(const char *str_arg, int64_t i, uint32_t length);
00033 double val_real()
00034 { assert(fixed == 1); return uint64_t2double((uint64_t)value); }
00035 String *val_str(String*);
00036 Item *clone_item() { return new Item_uint(name, value, max_length); }
00037 int save_in_field(Field *field, bool no_conversions);
00038 virtual void print(String *str);
00039 Item_num *neg ();
00040 uint32_t decimal_precision() const { return max_length; }
00041 };
00042
00043 }
00044