diff --git a/dbcon/joblist/crossenginestep.cpp b/dbcon/joblist/crossenginestep.cpp index 4afb7fc4f..aeb270ad2 100644 --- a/dbcon/joblist/crossenginestep.cpp +++ b/dbcon/joblist/crossenginestep.cpp @@ -235,8 +235,8 @@ void CrossEngineStep::setField(int i, const char* value, unsigned long length, R { CalpontSystemCatalog::ColDataType colType = row.getColType(i); - if (((colType == CalpontSystemCatalog::CHAR || colType == CalpontSystemCatalog::VARCHAR) && - row.getColumnWidth(i) > 8)) + if ((colType == CalpontSystemCatalog::CHAR || colType == CalpontSystemCatalog::VARCHAR) && + row.getColumnWidth(i) > 8) { if (value != NULL) row.setStringField(value, i); diff --git a/primitives/linux-port/dictionary.cpp b/primitives/linux-port/dictionary.cpp index a41626dad..0cc56df34 100644 --- a/primitives/linux-port/dictionary.cpp +++ b/primitives/linux-port/dictionary.cpp @@ -425,6 +425,11 @@ again: // is larger than the number of signatures in this block. Return a "special" string so that // the query keeps going, but that can be recognized as an internal error upon inspection. //@Bug 2534. Change the length check to 8000 + + // MCOL-267: + // With BLOB support we have had to increase this to 8176 + // because a BLOB can take 8176 bytes of a dictionary block + // instead of the fixed 8000 with CHAR/VARCHAR if (ret->len < 0 || ret->len > 8176) { ret->data = reinterpret_cast(signatureNotFound);