22 #include <drizzled/charset.h>
23 #include <drizzled/field.h>
24 #include <drizzled/internal/m_string.h>
25 #include <drizzled/item/int.h>
35 Item_int::Item_int(
const char *str_arg, uint32_t length)
37 char *end_ptr= (
char*) str_arg + length;
39 value= internal::my_strtoll10(str_arg, &end_ptr, &error);
40 max_length= (uint32_t) (end_ptr - str_arg);
41 name= (
char*) str_arg;
47 int2_class_decimal(E_DEC_FATAL_ERROR, value, unsigned_flag, decimal_value);
55 str->set(value, &my_charset_bin);
66 int Item_int::save_in_field(
Field *field,
bool)
70 return set_field_to_null(field);
72 return field->store(nr, unsigned_flag);
85 return item->
val_int() == value && item->unsigned_flag == unsigned_flag;
virtual bool basic_const_item() const
virtual int64_t val_int()=0
type::Decimal * val_decimal(type::Decimal *)
bool eq(const Item *, bool binary_cmp) const
virtual void print(String *str)
String * val_str(String *)