You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-08 14:22:09 +03:00
fix: MCOL-5755: incorrect handling of BLOB (and TEXT) in GROUP BY
BLOB fields did not work as grouping keys at all, they were assigned value NULL for any value, be it NULL or not. The fix is in the rowaggregation.cpp in the initMapping(), a switch/case branch was added to handle BLOB field copying there. Also, TEXT columns did not distinguish between NULL and empty string in the grouping algorithm, now they do. The fix is in the equals() function, now we specifically check for isNull() equality between values.
This commit is contained in:
committed by
Leonid Fedorov
parent
6d1c6d8242
commit
3bb2496ca1
@@ -562,6 +562,9 @@ class Row
|
||||
inline void setBinaryField(const T* value, uint32_t colIndex);
|
||||
template <typename T>
|
||||
inline void setBinaryField_offset(const T* value, uint32_t width, uint32_t colIndex);
|
||||
// XXX: TODO: I'd deprecate these two functions in favor of get/setStringField.
|
||||
// getSetStringField properly support binary data of up to 4G bytes
|
||||
// and also provide perfomant interface through use of ConstString.
|
||||
// support VARBINARY
|
||||
// Add 2-byte length at the CHARSET_INFO*beginning of the field. nullptr and zero length field are
|
||||
// treated the same, could use one of the length bit to distinguish these two cases.
|
||||
|
Reference in New Issue
Block a user