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 colWidth should be sizeof(long double), not hardcoded 16
This commit is contained in:
@ -215,7 +215,7 @@ void ArithmeticOperator::adjustResultType(const CalpontSystemCatalog::ColType& m
|
|||||||
n.colDataType = CalpontSystemCatalog::LONGDOUBLE;
|
n.colDataType = CalpontSystemCatalog::LONGDOUBLE;
|
||||||
n.scale = m.scale; // @bug5736, save the original decimal scale
|
n.scale = m.scale; // @bug5736, save the original decimal scale
|
||||||
n.precision = -1; // @bug5736, indicate this double is for decimal math
|
n.precision = -1; // @bug5736, indicate this double is for decimal math
|
||||||
n.colWidth = 16;
|
n.colWidth = sizeof(long double);
|
||||||
fResultType = n;
|
fResultType = n;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -320,7 +320,7 @@ void PredicateOperator::setOpType(Type& l, Type& r)
|
|||||||
|
|
||||||
case execplan::CalpontSystemCatalog::LONGDOUBLE:
|
case execplan::CalpontSystemCatalog::LONGDOUBLE:
|
||||||
fOperationType.colDataType = execplan::CalpontSystemCatalog::LONGDOUBLE;
|
fOperationType.colDataType = execplan::CalpontSystemCatalog::LONGDOUBLE;
|
||||||
fOperationType.colWidth = 16;
|
fOperationType.colWidth = sizeof(long double);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fOperationType.colDataType = execplan::CalpontSystemCatalog::DOUBLE;
|
fOperationType.colDataType = execplan::CalpontSystemCatalog::DOUBLE;
|
||||||
@ -379,7 +379,7 @@ void PredicateOperator::setOpType(Type& l, Type& r)
|
|||||||
r.colDataType == execplan::CalpontSystemCatalog::LONGDOUBLE)
|
r.colDataType == execplan::CalpontSystemCatalog::LONGDOUBLE)
|
||||||
{
|
{
|
||||||
fOperationType.colDataType = execplan::CalpontSystemCatalog::LONGDOUBLE;
|
fOperationType.colDataType = execplan::CalpontSystemCatalog::LONGDOUBLE;
|
||||||
fOperationType.colWidth = 16;
|
fOperationType.colWidth = sizeof(long double);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -4499,7 +4499,7 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi)
|
|||||||
{
|
{
|
||||||
CalpontSystemCatalog::ColType ct = parm->resultType();
|
CalpontSystemCatalog::ColType ct = parm->resultType();
|
||||||
ct.colDataType = CalpontSystemCatalog::LONGDOUBLE;
|
ct.colDataType = CalpontSystemCatalog::LONGDOUBLE;
|
||||||
ct.colWidth = 16;
|
ct.colWidth = sizeof(long double);
|
||||||
ct.scale += 4;
|
ct.scale += 4;
|
||||||
ct.precision = -1;
|
ct.precision = -1;
|
||||||
ac->resultType(ct);
|
ac->resultType(ct);
|
||||||
@ -4518,7 +4518,7 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi)
|
|||||||
{
|
{
|
||||||
CalpontSystemCatalog::ColType ct = parm->resultType();
|
CalpontSystemCatalog::ColType ct = parm->resultType();
|
||||||
ct.colDataType = CalpontSystemCatalog::LONGDOUBLE;
|
ct.colDataType = CalpontSystemCatalog::LONGDOUBLE;
|
||||||
ct.colWidth = 16;
|
ct.colWidth = sizeof(long double);
|
||||||
ct.precision = -1;
|
ct.precision = -1;
|
||||||
ac->resultType(ct);
|
ac->resultType(ct);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user