本文整理汇总了C++中TupleSchema::getColumnInfo方法的典型用法代码示例。如果您正苦于以下问题:C++ TupleSchema::getColumnInfo方法的具体用法?C++ TupleSchema::getColumnInfo怎么用?C++ TupleSchema::getColumnInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TupleSchema
的用法示例。
在下文中一共展示了TupleSchema::getColumnInfo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: assert
TupleSchema*
TupleSchema::createTupleSchema(const TupleSchema *first,
const std::vector<uint16_t> firstSet,
const TupleSchema *second,
const std::vector<uint16_t> secondSet) {
assert(first);
const std::vector<uint16_t>::size_type offset = firstSet.size();
const std::vector<uint16_t>::size_type combinedColumnCount = firstSet.size()
+ secondSet.size();
std::vector<ValueType> columnTypes;
std::vector<int32_t> columnLengths;
std::vector<bool> columnAllowNull(combinedColumnCount, true);
std::vector<bool> columnInBytes(combinedColumnCount, false);
std::vector<uint16_t>::const_iterator iter;
for (iter = firstSet.begin(); iter != firstSet.end(); iter++) {
const TupleSchema::ColumnInfo *columnInfo = first->getColumnInfo(*iter);
columnTypes.push_back(columnInfo->getVoltType());
columnLengths.push_back(columnInfo->length);
columnAllowNull[*iter] = columnInfo->allowNull;
columnInBytes[*iter] = columnInfo->inBytes;
}
for (iter = secondSet.begin(); second && iter != secondSet.end(); iter++) {
const TupleSchema::ColumnInfo *columnInfo = second->getColumnInfo(*iter);
columnTypes.push_back(columnInfo->getVoltType());
columnLengths.push_back(columnInfo->length);
columnAllowNull[offset + *iter] = columnInfo->allowNull;
columnInBytes[offset + *iter] = columnInfo->inBytes;
}
TupleSchema *schema = TupleSchema::createTupleSchema(columnTypes,
columnLengths,
columnAllowNull,
columnInBytes);
// Remember to set the inlineability of each column correctly.
for (iter = firstSet.begin(); iter != firstSet.end(); iter++) {
ColumnInfo *info = schema->getColumnInfo(*iter);
info->inlined = first->getColumnInfo(*iter)->inlined;
}
for (iter = secondSet.begin(); second && iter != secondSet.end(); iter++) {
ColumnInfo *info = schema->getColumnInfo((int)offset + *iter);
info->inlined = second->getColumnInfo(*iter)->inlined;
}
return schema;
}