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-498 Changes made according with review suggestions.
Add more comments. Changed return value for HDFS'es fallocate. Removed unnecessary code in ColumnBufferCompressed::writeToFile Replaced Nulls with Empties in variable names.
This commit is contained in:
@ -101,18 +101,19 @@ void ColumnBuffer::resizeAndCopy(int newSize, int startOffset, int endOffset)
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Write data stored up in the output buffer to the segment column file.
|
||||
// fillUpWEmpties is set when CS finishes with writing to add extra empty
|
||||
// magics to fill up the block to its boundary.
|
||||
//------------------------------------------------------------------------------
|
||||
int ColumnBuffer::writeToFile(int startOffset, int writeSize, bool fillUpWNulls)
|
||||
int ColumnBuffer::writeToFile(int startOffset, int writeSize, bool fillUpWEmpties)
|
||||
{
|
||||
if (writeSize == 0) // skip unnecessary write, if 0 bytes given
|
||||
return NO_ERROR;
|
||||
|
||||
unsigned char *newBuf = NULL;
|
||||
|
||||
if ( fillUpWNulls )
|
||||
if ( fillUpWEmpties )
|
||||
{
|
||||
BlockOp blockOp;
|
||||
//TO DO Use scoped_ptr here
|
||||
newBuf = new unsigned char[BYTE_PER_BLOCK];
|
||||
uint64_t EmptyValue = blockOp.getEmptyRowValue(fColInfo->column.dataType,
|
||||
fColInfo->column.width);
|
||||
@ -125,19 +126,21 @@ int ColumnBuffer::writeToFile(int startOffset, int writeSize, bool fillUpWNulls)
|
||||
Stats::startParseEvent(WE_STATS_WRITE_COL);
|
||||
#endif
|
||||
size_t nitems;
|
||||
if ( fillUpWNulls )
|
||||
if ( fillUpWEmpties )
|
||||
nitems = fFile->write(newBuf, BYTE_PER_BLOCK) / BYTE_PER_BLOCK;
|
||||
else
|
||||
nitems = fFile->write(fBuffer + startOffset, writeSize) / writeSize;
|
||||
|
||||
if (nitems != 1)
|
||||
{
|
||||
delete newBuf;
|
||||
return ERR_FILE_WRITE;
|
||||
}
|
||||
|
||||
#ifdef PROFILE
|
||||
Stats::stopParseEvent(WE_STATS_WRITE_COL);
|
||||
#endif
|
||||
|
||||
//TO DO Use scoped_ptr here
|
||||
delete newBuf;
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
Reference in New Issue
Block a user