23 #include <drizzled/charset.h>
24 #include <drizzled/error.h>
25 #include <drizzled/function/cast/signed.h>
26 #include <drizzled/lex_string.h>
34 str->append(STRING_WITH_LEN(
"cast("));
36 str->append(STRING_WITH_LEN(
" as signed)"));
45 char buff[MAX_FIELD_WIDTH];
46 String res_buffer(buff,
sizeof(buff), &my_charset_bin);
49 if (not (res= args[0]->
val_str(&res_buffer)))
58 char *end= res->ptr() + res->length();
59 value= res->charset()->cset->strntoull10rnd(res->charset(),
64 if (error or (end != res->ptr() + res->length()))
66 my_error(ER_INVALID_CAST_TO_SIGNED, MYF(0), res->c_str());
String * val_str(String *str)
virtual void print(String *str)