mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Manual merge
This commit is contained in:
37
sql/field.cc
37
sql/field.cc
@ -5956,14 +5956,6 @@ longlong Field_string::val_int(void)
|
||||
}
|
||||
|
||||
|
||||
my_decimal *Field_longstr::val_decimal(my_decimal *decimal_value)
|
||||
{
|
||||
str2my_decimal(E_DEC_FATAL_ERROR, ptr, field_length, charset(),
|
||||
decimal_value);
|
||||
return decimal_value;
|
||||
}
|
||||
|
||||
|
||||
String *Field_string::val_str(String *val_buffer __attribute__((unused)),
|
||||
String *val_ptr)
|
||||
{
|
||||
@ -5975,6 +5967,14 @@ String *Field_string::val_str(String *val_buffer __attribute__((unused)),
|
||||
}
|
||||
|
||||
|
||||
my_decimal *Field_string::val_decimal(my_decimal *decimal_value)
|
||||
{
|
||||
str2my_decimal(E_DEC_FATAL_ERROR, ptr, field_length, charset(),
|
||||
decimal_value);
|
||||
return decimal_value;
|
||||
}
|
||||
|
||||
|
||||
int Field_string::cmp(const char *a_ptr, const char *b_ptr)
|
||||
{
|
||||
uint a_len, b_len;
|
||||
@ -6288,6 +6288,15 @@ String *Field_varstring::val_str(String *val_buffer __attribute__((unused)),
|
||||
}
|
||||
|
||||
|
||||
my_decimal *Field_varstring::val_decimal(my_decimal *decimal_value)
|
||||
{
|
||||
uint length= length_bytes == 1 ? (uint) (uchar) *ptr : uint2korr(ptr);
|
||||
str2my_decimal(E_DEC_FATAL_ERROR, ptr+length_bytes, length, charset(),
|
||||
decimal_value);
|
||||
return decimal_value;
|
||||
}
|
||||
|
||||
|
||||
int Field_varstring::cmp(const char *a_ptr, const char *b_ptr)
|
||||
{
|
||||
uint a_length, b_length;
|
||||
@ -6906,6 +6915,18 @@ String *Field_blob::val_str(String *val_buffer __attribute__((unused)),
|
||||
}
|
||||
|
||||
|
||||
my_decimal *Field_blob::val_decimal(my_decimal *decimal_value)
|
||||
{
|
||||
char *blob;
|
||||
memcpy_fixed(&blob, ptr+packlength, sizeof(char*));
|
||||
if (!blob)
|
||||
blob= "";
|
||||
str2my_decimal(E_DEC_FATAL_ERROR, blob, get_length(ptr), charset(),
|
||||
decimal_value);
|
||||
return decimal_value;
|
||||
}
|
||||
|
||||
|
||||
int Field_blob::cmp(const char *a,uint32 a_length, const char *b,
|
||||
uint32 b_length)
|
||||
{
|
||||
|
Reference in New Issue
Block a user