You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-01 06:46:55 +03:00
MCOL-641 Refactor initial extent elimination support.
This commit also adds support in TupleHashJoinStep::forwardCPData, although we currently do not support wide decimals as join keys. Row estimation to determine large-side of the join is also updated.
This commit is contained in:
committed by
Roman Nozdrin
parent
ca53b6348a
commit
d3bc68b02f
@ -161,21 +161,10 @@ const int32_t MIN_TIMESTAMP_VALUE = 0;
|
||||
namespace dataconvert
|
||||
{
|
||||
|
||||
// Decimal has maximum 38 digits with 3 extra chars for dot(.), minus(-), null character(\0)
|
||||
const int MAX_DECIMAL_STRING_LENGTH = 41;
|
||||
|
||||
// WIP MCOL-641
|
||||
using int128_t = __int128;
|
||||
using uint128_t = unsigned __int128;
|
||||
|
||||
struct Int128Pod_struct
|
||||
{
|
||||
uint64_t lo;
|
||||
uint64_t hi;
|
||||
};
|
||||
|
||||
typedef Int128Pod_struct Int128Pod_t;
|
||||
|
||||
enum CalpontDateTimeFormat
|
||||
{
|
||||
CALPONTDATE_ENUM = 1, // date format is: "YYYY-MM-DD"
|
||||
@ -1067,27 +1056,6 @@ public:
|
||||
static size_t writeFractionalPart(int128_t* dec, char* p, const unsigned int buflen,
|
||||
const uint8_t scale);
|
||||
|
||||
static inline void int128Max(int128_t& i)
|
||||
{
|
||||
Int128Pod_t *pod = reinterpret_cast<Int128Pod_t*>(&i);
|
||||
pod->lo = 0xFFFFFFFFFFFFFFFF;
|
||||
pod->hi = 0x7FFFFFFFFFFFFFFF;
|
||||
}
|
||||
|
||||
static inline void int128Min(int128_t& i)
|
||||
{
|
||||
Int128Pod_t *pod = reinterpret_cast<Int128Pod_t*>(&i);
|
||||
pod->lo = 0;
|
||||
pod->hi = 0x8000000000000000;
|
||||
}
|
||||
|
||||
static inline void uint128Max(uint128_t& i)
|
||||
{
|
||||
Int128Pod_t *pod = reinterpret_cast<Int128Pod_t*>(&i);
|
||||
pod->lo = 0xFFFFFFFFFFFFFFFF;
|
||||
pod->hi = 0xFFFFFFFFFFFFFFFF;
|
||||
}
|
||||
|
||||
static inline std::string constructRegexp(const std::string& str);
|
||||
static inline void trimWhitespace(int64_t& charData);
|
||||
static inline bool isEscapedChar(char c)
|
||||
|
Reference in New Issue
Block a user