diff --git a/dbcon/joblist/groupconcat.cpp b/dbcon/joblist/groupconcat.cpp index 7f832946e..d48c5e289 100644 --- a/dbcon/joblist/groupconcat.cpp +++ b/dbcon/joblist/groupconcat.cpp @@ -365,12 +365,18 @@ void GroupConcatAgUM::applyMapping(const boost::shared_array& mapping, cons // For some reason the rowgroup mapping fcns don't work right in this class. for (uint64_t i = 0; i < fRow.getColumnCount(); i++) { - if (fRow.getColumnWidth(i) > 8 && - (fRow.getColTypes()[i] == execplan::CalpontSystemCatalog::CHAR || - fRow.getColTypes()[i] == execplan::CalpontSystemCatalog::VARCHAR || - fRow.getColTypes()[i] == execplan::CalpontSystemCatalog::TEXT)) + if (fRow.getColumnWidth(i) > 8) { - fRow.setStringField(row.getStringPointer(mapping[i]), row.getStringLength(mapping[i]), i); + if (fRow.getColTypes()[i] == execplan::CalpontSystemCatalog::CHAR || + fRow.getColTypes()[i] == execplan::CalpontSystemCatalog::VARCHAR || + fRow.getColTypes()[i] == execplan::CalpontSystemCatalog::TEXT) + { + fRow.setStringField(row.getStringPointer(mapping[i]), row.getStringLength(mapping[i]), i); + } + else if (fRow.getColTypes()[i] == execplan::CalpontSystemCatalog::LONGDOUBLE) + { + fRow.setLongDoubleField(row.getLongDoubleField(mapping[i]), i); + } } else {