1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-17249 MAKETIME(-1e50,0,0) returns a wrong result

This commit is contained in:
Alexander Barkov
2018-09-20 16:02:58 +04:00
parent e43bc02e7b
commit 0c6455aa46
13 changed files with 219 additions and 32 deletions

View File

@ -18,6 +18,7 @@
#include "sql_list.h" /* Sql_alloc, MEM_ROOT */
#include "m_string.h" /* LEX_STRING */
#include "sql_type_int.h" // Longlong_hybrid
#include "sql_string.h" /* String */
#include "mysql_com.h" /* MYSQL_ERRMSG_SIZE */
@ -542,13 +543,11 @@ public:
{ return err_conv(err_buffer, sizeof(err_buffer), str, len, cs); }
};
class ErrConvInteger : public ErrConv
class ErrConvInteger : public ErrConv, public Longlong_hybrid
{
longlong m_value;
bool m_unsigned;
public:
ErrConvInteger(longlong num_arg, bool unsigned_flag= false) :
ErrConv(), m_value(num_arg), m_unsigned(unsigned_flag) {}
ErrConv(), Longlong_hybrid(num_arg, unsigned_flag) {}
const char *ptr() const
{
return m_unsigned ? ullstr(m_value, err_buffer) :