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-4464 Bitwise operations not like in MariaDB
This commit is contained in:
@ -311,10 +311,24 @@ public:
|
||||
return fFunctor->getTimeIntVal(row, fFunctionParms, isNull, fOperationType);
|
||||
}
|
||||
|
||||
bool fixIfNeeded() override
|
||||
{
|
||||
if (fFixed)
|
||||
return false;
|
||||
if (fFunctor->fix(*this))
|
||||
return true;
|
||||
fFixed = true;
|
||||
return false;
|
||||
}
|
||||
void setFunctor(funcexp::Func* functor)
|
||||
{
|
||||
fFunctor = functor;
|
||||
}
|
||||
private:
|
||||
funcexp::FunctionParm fFunctionParms;
|
||||
funcexp::Func* fFunctor; /// functor to execute this function
|
||||
funcexp::Func* fDynamicFunctor = NULL; // for rand encode decode
|
||||
bool fFixed = false;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -328,6 +328,11 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual bool fixIfNeeded()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
protected:
|
||||
// return all flag set if the other column is outer join column (+)
|
||||
bool fReturnAll;
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include "dataconvert.h"
|
||||
#include "columnwidth.h"
|
||||
#include "mcs_decimal.h"
|
||||
#include "mcs_int64.h"
|
||||
|
||||
namespace messageqcpp
|
||||
{
|
||||
@ -264,6 +265,18 @@ public:
|
||||
{
|
||||
return fResult.uintVal;
|
||||
}
|
||||
datatypes::TUInt64Null toTUInt64Null(rowgroup::Row& row)
|
||||
{
|
||||
bool isNull;
|
||||
uint64_t val = getUintVal(row, isNull);
|
||||
return datatypes::TUInt64Null(val, isNull);
|
||||
}
|
||||
datatypes::TSInt64Null toTSInt64Null(rowgroup::Row& row)
|
||||
{
|
||||
bool isNull;
|
||||
int64_t val = getIntVal(row, isNull);
|
||||
return datatypes::TSInt64Null(val, isNull);
|
||||
}
|
||||
virtual float getFloatVal(rowgroup::Row& row, bool& isNull)
|
||||
{
|
||||
return fResult.floatVal;
|
||||
|
Reference in New Issue
Block a user