summaryrefslogtreecommitdiff
path: root/sql/sql_prepare.cc
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2018-08-07 10:48:42 +0400
committerAlexander Barkov <bar@mariadb.com>2018-08-07 10:48:42 +0400
commitcb7b5fbf1cf7c5bcd0509e428a53a8b8d6fbba0f (patch)
tree97a2de6b50c55fdecbaacbde75775196ff347421 /sql/sql_prepare.cc
parent01e4426a6352740973ff275eac60ddacc90da119 (diff)
downloadmariadb-git-cb7b5fbf1cf7c5bcd0509e428a53a8b8d6fbba0f.tar.gz
MDEV-16910 Add class VDec
Adding classes VDec and VDec2_lazy, according to the task description. This patch removes around 250 duplicate code lines.
Diffstat (limited to 'sql/sql_prepare.cc')
-rw-r--r--sql/sql_prepare.cc12
1 files changed, 2 insertions, 10 deletions
diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc
index 2419fd2d85e..c615356b354 100644
--- a/sql/sql_prepare.cc
+++ b/sql/sql_prepare.cc
@@ -5298,16 +5298,8 @@ bool Protocol_local::store_longlong(longlong value, bool unsigned_flag)
bool Protocol_local::store_decimal(const my_decimal *value)
{
- char buf[DECIMAL_MAX_STR_LENGTH];
- String str(buf, sizeof (buf), &my_charset_bin);
- int rc;
-
- rc= my_decimal2string(E_DEC_FATAL_ERROR, value, 0, 0, 0, &str);
-
- if (rc)
- return TRUE;
-
- return store_column(str.ptr(), str.length());
+ StringBuffer<DECIMAL_MAX_STR_LENGTH> str;
+ return value->to_string(&str) ? store_column(str.ptr(), str.length()) : true;
}