From 4870e5abdc7a4efc8b68bb99a5bf5e1524ef0cf7 Mon Sep 17 00:00:00 2001 From: David Hall Date: Thu, 26 Oct 2017 10:52:10 -0500 Subject: [PATCH] MCOL-979 getNullValueByType() should return string for all char types --- utils/windowfunction/wf_lead_lag.cpp | 2 +- utils/windowfunction/windowfunctiontype.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/utils/windowfunction/wf_lead_lag.cpp b/utils/windowfunction/wf_lead_lag.cpp index 85ad54f70..a40f0fac2 100644 --- a/utils/windowfunction/wf_lead_lag.cpp +++ b/utils/windowfunction/wf_lead_lag.cpp @@ -123,7 +123,7 @@ void WF_lead_lag::parseParms(const std::vector& parms) fLead = 1; fRespectNulls = true; fDefNull = false; - fDefault = (T)0; +// fDefault = (T)0; // Won't work for std::string. Default should always be set below. fOffsetNull = false; fOffset = 0; if (fFunctionId == WF__LAG) diff --git a/utils/windowfunction/windowfunctiontype.cpp b/utils/windowfunction/windowfunctiontype.cpp index bf13f3d8f..9afb4105d 100755 --- a/utils/windowfunction/windowfunctiontype.cpp +++ b/utils/windowfunction/windowfunctiontype.cpp @@ -497,7 +497,8 @@ void* WindowFunctionType::getNullValueByType(int ct, int pos) break; case CalpontSystemCatalog::CHAR: case CalpontSystemCatalog::VARCHAR: { - uint64_t len = fRow.getColumnWidth(pos); +// uint64_t len = fRow.getColumnWidth(pos); +#if 0 switch (len) { case 1: v = &char1Null; @@ -515,10 +516,12 @@ void* WindowFunctionType::getNullValueByType(int ct, int pos) case 8: v = &char8Null; break; - default: + default: v = &stringNull; break; } +#endif + v = &stringNull; break; } case CalpontSystemCatalog::DECIMAL: