From 0ea4ccfe063900516c58c2f88194062e47e46157 Mon Sep 17 00:00:00 2001 From: David Hall Date: Tue, 5 Mar 2019 09:49:11 -0600 Subject: [PATCH] MCOL-1822 colWidth should be sizeof(long double), not hardcoded 16 --- dbcon/execplan/arithmeticoperator.cpp | 2 +- dbcon/execplan/predicateoperator.cpp | 4 ++-- dbcon/mysql/ha_calpont_execplan.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dbcon/execplan/arithmeticoperator.cpp b/dbcon/execplan/arithmeticoperator.cpp index 78dffe430..71857a8fa 100644 --- a/dbcon/execplan/arithmeticoperator.cpp +++ b/dbcon/execplan/arithmeticoperator.cpp @@ -215,7 +215,7 @@ void ArithmeticOperator::adjustResultType(const CalpontSystemCatalog::ColType& m n.colDataType = CalpontSystemCatalog::LONGDOUBLE; n.scale = m.scale; // @bug5736, save the original decimal scale n.precision = -1; // @bug5736, indicate this double is for decimal math - n.colWidth = 16; + n.colWidth = sizeof(long double); fResultType = n; } } diff --git a/dbcon/execplan/predicateoperator.cpp b/dbcon/execplan/predicateoperator.cpp index 119f49193..704ab3a63 100644 --- a/dbcon/execplan/predicateoperator.cpp +++ b/dbcon/execplan/predicateoperator.cpp @@ -320,7 +320,7 @@ void PredicateOperator::setOpType(Type& l, Type& r) case execplan::CalpontSystemCatalog::LONGDOUBLE: fOperationType.colDataType = execplan::CalpontSystemCatalog::LONGDOUBLE; - fOperationType.colWidth = 16; + fOperationType.colWidth = sizeof(long double); break; default: fOperationType.colDataType = execplan::CalpontSystemCatalog::DOUBLE; @@ -379,7 +379,7 @@ void PredicateOperator::setOpType(Type& l, Type& r) r.colDataType == execplan::CalpontSystemCatalog::LONGDOUBLE) { fOperationType.colDataType = execplan::CalpontSystemCatalog::LONGDOUBLE; - fOperationType.colWidth = 16; + fOperationType.colWidth = sizeof(long double); } else { diff --git a/dbcon/mysql/ha_calpont_execplan.cpp b/dbcon/mysql/ha_calpont_execplan.cpp index f7425fce7..1094ffc37 100644 --- a/dbcon/mysql/ha_calpont_execplan.cpp +++ b/dbcon/mysql/ha_calpont_execplan.cpp @@ -4499,7 +4499,7 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi) { CalpontSystemCatalog::ColType ct = parm->resultType(); ct.colDataType = CalpontSystemCatalog::LONGDOUBLE; - ct.colWidth = 16; + ct.colWidth = sizeof(long double); ct.scale += 4; ct.precision = -1; ac->resultType(ct); @@ -4518,7 +4518,7 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi) { CalpontSystemCatalog::ColType ct = parm->resultType(); ct.colDataType = CalpontSystemCatalog::LONGDOUBLE; - ct.colWidth = 16; + ct.colWidth = sizeof(long double); ct.precision = -1; ac->resultType(ct); }