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-641 Work of Ivan Zuniga on basic read and write support for Binary16
This commit is contained in:
committed by
Roman Nozdrin
parent
d943beb445
commit
32f6167067
@ -628,7 +628,8 @@ string Row::toString() const
|
||||
os << " " << dec;
|
||||
break;
|
||||
}
|
||||
|
||||
case CalpontSystemCatalog::BINARY:
|
||||
std::cout << __FILE__<< ":" <<__LINE__ << " Fix for 16 Bytes ?" << std::endl;
|
||||
default:
|
||||
os << getIntField(i) << " ";
|
||||
break;
|
||||
@ -690,7 +691,8 @@ string Row::toCSV() const
|
||||
os << dec;
|
||||
break;
|
||||
}
|
||||
|
||||
case CalpontSystemCatalog::BINARY:
|
||||
std::cout << __FILE__<< __LINE__ << ":" << "toCSV"<< std::endl;
|
||||
default:
|
||||
os << getIntField(i);
|
||||
break;
|
||||
@ -852,7 +854,8 @@ void Row::initToNull()
|
||||
case CalpontSystemCatalog::UBIGINT:
|
||||
*((uint64_t*) &data[offsets[i]]) = joblist::UBIGINTNULL;
|
||||
break;
|
||||
|
||||
case CalpontSystemCatalog::BINARY:
|
||||
std::cout << __FILE__<< ":" <<__LINE__ << " Fix for 16 Bytes ?" << std::endl;
|
||||
default:
|
||||
ostringstream os;
|
||||
os << "Row::initToNull(): got bad column type (" << types[i] <<
|
||||
@ -934,7 +937,8 @@ bool Row::isNullValue(uint32_t colIndex) const
|
||||
case 8:
|
||||
return
|
||||
(*((uint64_t*) &data[offsets[colIndex]]) == joblist::CHAR8NULL);
|
||||
|
||||
case 16:
|
||||
std::cout << __FILE__<< ":" <<__LINE__ << " Fix for 16 Bytes ?" << std::endl;
|
||||
default:
|
||||
return (*((uint64_t*) &data[offsets[colIndex]]) == *((uint64_t*) joblist::CPNULLSTRMARK.c_str()));
|
||||
}
|
||||
@ -1004,6 +1008,16 @@ bool Row::isNullValue(uint32_t colIndex) const
|
||||
return (*((long double*) &data[offsets[colIndex]]) == joblist::LONGDOUBLENULL);
|
||||
break;
|
||||
|
||||
case CalpontSystemCatalog::BINARY:
|
||||
{
|
||||
// When is null? I dont know. Wait for bitmap null empty implemtenttion ?
|
||||
// Also still pendig rework discussed use pointers for empty null values
|
||||
|
||||
std::cout << __FILE__<< ":" << __LINE__ << " isNullValue value " << (*((uint64_t*) &data[offsets[colIndex]])) << std::endl;
|
||||
//return false;
|
||||
return (*((uint64_t*) &data[offsets[colIndex]]) == joblist::BINARYEMPTYROW);
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
ostringstream os;
|
||||
@ -1624,7 +1638,8 @@ void RowGroup::addToSysDataList(execplan::CalpontSystemCatalog::NJLSysDataList&
|
||||
case 8:
|
||||
cr->PutData(row.getUintField<8>(j));
|
||||
break;
|
||||
|
||||
case 16:
|
||||
|
||||
default:
|
||||
{
|
||||
string s = row.getStringField(j);
|
||||
@ -1645,6 +1660,8 @@ void RowGroup::addToSysDataList(execplan::CalpontSystemCatalog::NJLSysDataList&
|
||||
cr->PutData(row.getUintField<4>(j));
|
||||
break;
|
||||
|
||||
case CalpontSystemCatalog::BINARY:
|
||||
std::cout << __FILE__<< __LINE__ << __func__<< std::endl;
|
||||
default:
|
||||
cr->PutData(row.getIntField<8>(j));
|
||||
}
|
||||
|
Reference in New Issue
Block a user