mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
merge
include/mysql_com.h: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/view.test: Auto merged sql/item.cc: Auto merged sql/protocol.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged
This commit is contained in:
@@ -753,6 +753,7 @@ bool Protocol_simple::store(const char *from, uint length,
|
||||
DBUG_ASSERT(field_types == 0 ||
|
||||
field_types[field_pos] == MYSQL_TYPE_DECIMAL ||
|
||||
field_types[field_pos] == MYSQL_TYPE_BIT ||
|
||||
field_types[field_pos] == MYSQL_TYPE_NEWDECIMAL ||
|
||||
(field_types[field_pos] >= MYSQL_TYPE_ENUM &&
|
||||
field_types[field_pos] <= MYSQL_TYPE_GEOMETRY));
|
||||
field_pos++;
|
||||
@@ -769,6 +770,7 @@ bool Protocol_simple::store(const char *from, uint length,
|
||||
DBUG_ASSERT(field_types == 0 ||
|
||||
field_types[field_pos] == MYSQL_TYPE_DECIMAL ||
|
||||
field_types[field_pos] == MYSQL_TYPE_BIT ||
|
||||
field_types[field_pos] == MYSQL_TYPE_NEWDECIMAL ||
|
||||
(field_types[field_pos] >= MYSQL_TYPE_ENUM &&
|
||||
field_types[field_pos] <= MYSQL_TYPE_GEOMETRY));
|
||||
field_pos++;
|
||||
@@ -831,6 +833,26 @@ bool Protocol_simple::store_longlong(longlong from, bool unsigned_flag)
|
||||
}
|
||||
|
||||
|
||||
bool Protocol_simple::store_decimal(const my_decimal *d)
|
||||
{
|
||||
#ifndef DEBUG_OFF
|
||||
DBUG_ASSERT(field_types == 0 ||
|
||||
field_types[field_pos] == MYSQL_TYPE_NEWDECIMAL);
|
||||
field_pos++;
|
||||
#endif
|
||||
int buf_size= my_decimal_string_length(d);
|
||||
char *buff= (char *)my_alloca(buf_size);
|
||||
String str(buff, buf_size, &my_charset_bin);
|
||||
if (my_decimal2string(E_DEC_FATAL_ERROR, d, 0, 0, 0, &str))
|
||||
{
|
||||
my_afree(buff);
|
||||
return TRUE;
|
||||
}
|
||||
my_afree(buff);
|
||||
return net_store_data(str.ptr(), str.length());
|
||||
}
|
||||
|
||||
|
||||
bool Protocol_simple::store(float from, uint32 decimals, String *buffer)
|
||||
{
|
||||
#ifndef DEBUG_OFF
|
||||
@@ -1045,6 +1067,24 @@ bool Protocol_prep::store_longlong(longlong from, bool unsigned_flag)
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool Protocol_prep::store_decimal(const my_decimal *d)
|
||||
{
|
||||
#ifndef DEBUG_OFF
|
||||
DBUG_ASSERT(field_types == 0 ||
|
||||
field_types[field_pos] == MYSQL_TYPE_NEWDECIMAL);
|
||||
field_pos++;
|
||||
#endif
|
||||
int buf_size= my_decimal_string_length(d);
|
||||
char *buff= (char *)my_alloca(buf_size);
|
||||
String str(buff, buf_size, &my_charset_bin);
|
||||
if (my_decimal2string(E_DEC_FATAL_ERROR, d, 0, 0, 0, &str))
|
||||
{
|
||||
my_afree(buff);
|
||||
return TRUE;
|
||||
}
|
||||
my_afree(buff);
|
||||
return store(str.ptr(), str.length(), str.charset());
|
||||
}
|
||||
|
||||
bool Protocol_prep::store(float from, uint32 decimals, String *buffer)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user