You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
MCOL-444 Truncate UTF8 correctly
cpimport would truncate UTF8 data half way through a character which would cause problems for functions using that data. This patch calculates the correct truncation point when inserting the data.
This commit is contained in:
@ -41,6 +41,8 @@
|
||||
|
||||
#include "joblisttypes.h"
|
||||
|
||||
#include "utils_utf8.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace boost;
|
||||
using namespace execplan;
|
||||
@ -513,7 +515,8 @@ void BulkLoadBuffer::convert(char *field, int fieldLength,
|
||||
// on disk (e.g. 5 for a varchar(5) instead of 8).
|
||||
if (fieldLength > column.definedWidth)
|
||||
{
|
||||
memcpy( charTmpBuf, field, column.definedWidth );
|
||||
uint8_t truncate_point = funcexp::utf8::utf8_truncate_point(field, column.definedWidth);
|
||||
memcpy( charTmpBuf, field, column.definedWidth - truncate_point );
|
||||
bufStats.satCount++;
|
||||
}
|
||||
else
|
||||
|
Reference in New Issue
Block a user