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-1822 Intermediate checkin. DISTINCT not working.
This commit is contained in:
@ -243,6 +243,27 @@ inline uint64_t simple_case_cmp(Row& row,
|
||||
break;
|
||||
}
|
||||
|
||||
case execplan::CalpontSystemCatalog::LONGDOUBLE:
|
||||
{
|
||||
long double ev = parm[n]->data()->getLongDoubleVal(row, isNull);
|
||||
|
||||
if (isNull)
|
||||
break;
|
||||
|
||||
for (i = 1; i <= whereCount; i++)
|
||||
{
|
||||
if (ev == parm[i]->data()->getLongDoubleVal(row, isNull) && !isNull)
|
||||
{
|
||||
foundIt = true;
|
||||
break;
|
||||
}
|
||||
else
|
||||
isNull = false;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
std::ostringstream oss;
|
||||
@ -510,6 +531,19 @@ double Func_simple_case::getDoubleVal(Row& row,
|
||||
return parm[i]->data()->getDoubleVal(row, isNull);
|
||||
}
|
||||
|
||||
long double Func_simple_case::getLongDoubleVal(Row& row,
|
||||
FunctionParm& parm,
|
||||
bool& isNull,
|
||||
CalpontSystemCatalog::ColType& operationColType)
|
||||
{
|
||||
uint64_t i = simple_case_cmp(row, parm, isNull, operationColType);
|
||||
|
||||
if (isNull)
|
||||
return doubleNullVal();
|
||||
|
||||
return parm[i]->data()->getLongDoubleVal(row, isNull);
|
||||
}
|
||||
|
||||
|
||||
int32_t Func_simple_case::getDateIntVal(rowgroup::Row& row,
|
||||
FunctionParm& parm,
|
||||
@ -649,6 +683,19 @@ double Func_searched_case::getDoubleVal(Row& row,
|
||||
return parm[i]->data()->getDoubleVal(row, isNull);
|
||||
}
|
||||
|
||||
long double Func_searched_case::getLongDoubleVal(Row& row,
|
||||
FunctionParm& parm,
|
||||
bool& isNull,
|
||||
CalpontSystemCatalog::ColType&)
|
||||
{
|
||||
uint64_t i = searched_case_cmp(row, parm, isNull);
|
||||
|
||||
if (isNull)
|
||||
return longDoubleNullVal();
|
||||
|
||||
return parm[i]->data()->getLongDoubleVal(row, isNull);
|
||||
}
|
||||
|
||||
|
||||
int32_t Func_searched_case::getDateIntVal(rowgroup::Row& row,
|
||||
FunctionParm& parm,
|
||||
|
Reference in New Issue
Block a user