1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

fix(datatypes,cpimport)!: MCOL-5746 Do not convert ascii to binary for the "BLOB" data type (#3175)

This commit is contained in:
Denis Khalikov
2024-05-16 12:53:42 +03:00
committed by GitHub
parent 49541993f4
commit f75baa8a40

View File

@ -1661,7 +1661,8 @@ int ColumnInfo::closeDctnryStore(bool bAbort)
// Update dictionary store file with string column parquet data, and return the assigned // Update dictionary store file with string column parquet data, and return the assigned
// tokens (tokenbuf) to be stored in the corresponding column token file. // tokens (tokenbuf) to be stored in the corresponding column token file.
//-------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------
int ColumnInfo::updateDctnryStoreParquet(std::shared_ptr<arrow::Array> columnData, int tokenPos, const int totalRow, char* tokenBuf) int ColumnInfo::updateDctnryStoreParquet(std::shared_ptr<arrow::Array> columnData, int tokenPos,
const int totalRow, char* tokenBuf)
{ {
long long truncCount = 0; long long truncCount = 0;
@ -1673,7 +1674,8 @@ int ColumnInfo::updateDctnryStoreParquet(std::shared_ptr<arrow::Array> columnDat
Stats::stopParseEvent(WE_STATS_WAIT_TO_PARSE_DCT); Stats::stopParseEvent(WE_STATS_WAIT_TO_PARSE_DCT);
#endif #endif
int rc = fStore->insertDctnryParquet(columnData, tokenPos, totalRow, id, tokenBuf, truncCount, column.cs, column.weType); int rc = fStore->insertDctnryParquet(columnData, tokenPos, totalRow, id, tokenBuf, truncCount, column.cs,
column.weType);
if (rc != NO_ERROR) if (rc != NO_ERROR)
{ {
@ -1688,7 +1690,7 @@ int ColumnInfo::updateDctnryStoreParquet(std::shared_ptr<arrow::Array> columnDat
} }
incSaturatedCnt(truncCount); incSaturatedCnt(truncCount);
return NO_ERROR; return NO_ERROR;
} }
@ -1707,8 +1709,7 @@ int ColumnInfo::updateDctnryStore(char* buf, ColPosPair** pos, const int totalRo
// column. // column.
// This only applies to default text mode. This step is bypassed for // This only applies to default text mode. This step is bypassed for
// binary imports, because in that case, the data is already true binary. // binary imports, because in that case, the data is already true binary.
if (((curCol.colType == WR_VARBINARY) || (curCol.colType == WR_BLOB)) && if (((curCol.colType == WR_VARBINARY)) && (fpTableInfo->getImportDataMode() == IMPORT_DATA_TEXT))
(fpTableInfo->getImportDataMode() == IMPORT_DATA_TEXT))
{ {
#ifdef PROFILE #ifdef PROFILE
Stats::startParseEvent(WE_STATS_COMPACT_VARBINARY); Stats::startParseEvent(WE_STATS_COMPACT_VARBINARY);