Fix column types

This commit is contained in:
Aleksei Nikiforov 2019-12-16 17:00:48 +03:00
parent c6b1330fb5
commit 9d5a803603

View File

@ -145,7 +145,9 @@ CommonStringRecordField::CommonStringRecordField(const std::string &name)
std::vector<AbstractRecordField::Column> CommonStringRecordField::generateColumnsAndNames() const
{
return std::vector<AbstractRecordField::Column>{ Column { m_name, std::make_shared<clickhouse::ColumnString>() } };
return std::vector<AbstractRecordField::Column> {
Column { m_name, std::make_shared<clickhouse::ColumnNullable>(std::make_shared<clickhouse::ColumnString>(), std::make_shared<clickhouse::ColumnUInt8>()) }
};
}
void CommonStringRecordField::addToColumn(const std::vector<Column> &columns) const
@ -270,9 +272,9 @@ void IntegerRecordField::addOrUpdateValue(auparse_state_t *record)
std::vector<AbstractRecordField::Column> IntegerRecordField::generateColumnsAndNames() const
{
return std::vector<AbstractRecordField::Column>{
Column { m_name + ".IntValue", std::make_shared<clickhouse::ColumnInt64>() },
Column { m_name + ".InterpretedValue", std::make_shared<clickhouse::ColumnString>() }
return std::vector<AbstractRecordField::Column> {
Column { m_name + ".IntValue", std::make_shared<clickhouse::ColumnNullable>(std::make_shared<clickhouse::ColumnInt64>(), std::make_shared<clickhouse::ColumnUInt8>()) },
Column { m_name + ".InterpretedValue", std::make_shared<clickhouse::ColumnNullable>(std::make_shared<clickhouse::ColumnString>(), std::make_shared<clickhouse::ColumnUInt8>()) }
};
}
@ -341,9 +343,9 @@ void InterpretedStringArrayRecordField::addOrUpdateValue(auparse_state_t *record
std::vector<AbstractRecordField::Column> InterpretedStringArrayRecordField::generateColumnsAndNames() const
{
return std::vector<AbstractRecordField::Column>{
Column { m_name + ".Name", std::make_shared<clickhouse::ColumnString>() },
Column { m_name + ".Value", std::make_shared<clickhouse::ColumnString>() }
return std::vector<AbstractRecordField::Column> {
Column { m_name + ".Name", std::make_shared<clickhouse::ColumnArray>(std::make_shared<clickhouse::ColumnString>()) },
Column { m_name + ".Value", std::make_shared<clickhouse::ColumnArray>(std::make_shared<clickhouse::ColumnString>()) }
};
}