You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
MCOL-1412 Ubuntu 18.04 support
Backport Ubuntu 18.04 support to 1.1
This commit is contained in:
@ -47,7 +47,7 @@ using namespace dataconvert;
|
||||
#endif
|
||||
namespace {
|
||||
//returns the value of 10 raised to the power x.
|
||||
inline double pow10(double x)
|
||||
inline double exp10(double x)
|
||||
{
|
||||
return exp(x * M_LN10);
|
||||
}
|
||||
@ -406,7 +406,7 @@ void TupleUnion::normalize(const Row &in, Row *out)
|
||||
ostringstream os;
|
||||
if (in.getScale(i)) {
|
||||
double d = in.getIntField(i);
|
||||
d /= pow10(in.getScale(i));
|
||||
d /= exp10(in.getScale(i));
|
||||
os.precision(15);
|
||||
os << d;
|
||||
}
|
||||
@ -488,7 +488,7 @@ dec1: uint64_t val = in.getIntField(i);
|
||||
ostringstream os;
|
||||
if (in.getScale(i)) {
|
||||
double d = in.getUintField(i);
|
||||
d /= pow10(in.getScale(i));
|
||||
d /= exp10(in.getScale(i));
|
||||
os.precision(15);
|
||||
os << d;
|
||||
}
|
||||
|
@ -54,15 +54,25 @@ namespace anyimpl
|
||||
template<typename T>
|
||||
struct big_any_policy : typed_base_any_policy<T>
|
||||
{
|
||||
virtual void static_delete(void** x) { if (*x)
|
||||
delete(*reinterpret_cast<T**>(x)); *x = NULL; }
|
||||
virtual void copy_from_value(void const* src, void** dest) {
|
||||
*dest = new T(*reinterpret_cast<T const*>(src)); }
|
||||
virtual void clone(void* const* src, void** dest) {
|
||||
*dest = new T(**reinterpret_cast<T* const*>(src)); }
|
||||
virtual void move(void* const* src, void** dest) {
|
||||
(*reinterpret_cast<T**>(dest))->~T();
|
||||
**reinterpret_cast<T**>(dest) = **reinterpret_cast<T* const*>(src); }
|
||||
virtual void static_delete(void** x)
|
||||
{
|
||||
if (*x)
|
||||
delete(*reinterpret_cast<T**>(x));
|
||||
*x = NULL;
|
||||
}
|
||||
virtual void copy_from_value(void const* src, void** dest)
|
||||
{
|
||||
*dest = new T(*reinterpret_cast<T const*>(src));
|
||||
}
|
||||
virtual void clone(void* const* src, void** dest)
|
||||
{
|
||||
*dest = new T(**reinterpret_cast<T* const*>(src));
|
||||
}
|
||||
virtual void move(void* const* src, void** dest)
|
||||
{
|
||||
(*reinterpret_cast<T**>(dest))->~T();
|
||||
**reinterpret_cast<T**>(dest) = **reinterpret_cast<T* const*>(src);
|
||||
}
|
||||
virtual void* get_value(void** src) { return *src; }
|
||||
};
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "configcpp.h"
|
||||
#include "logger.h"
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <boost/regex.hpp>
|
||||
#ifdef _MSC_VER
|
||||
#include "unistd.h"
|
||||
|
@ -21,6 +21,7 @@
|
||||
*
|
||||
***********************************************************************/
|
||||
#include <stdexcept>
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
#include "messageobj.h"
|
||||
|
Reference in New Issue
Block a user