提交 c223281d 编写于 作者: C CurtizJ

fix enum coversion in native format for backward compatibility

上级 7c59fd47
......@@ -92,6 +92,9 @@ ColumnPtr recursiveLowCardinalityConversion(const ColumnPtr & column, const Data
if (from_type->equals(*to_type))
return column;
if (WhichDataType(to_type).isEnum() && from_type->getTypeId() == to_type->getTypeId())
return column;
if (const auto * column_const = typeid_cast<const ColumnConst *>(column.get()))
{
auto & nested = column_const->getDataColumnPtr();
......
#!/usr/bin/env bash
CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
. $CURDIR/../shell_config.sh
set -e
${CLICKHOUSE_CLIENT} --query="drop table if exists enum_source;"
${CLICKHOUSE_CLIENT} --query="drop table if exists enum_buf;"
${CLICKHOUSE_CLIENT} --query="create table enum_source(e Enum8('a'=1)) engine = MergeTree order by tuple()"
${CLICKHOUSE_CLIENT} --query="insert into enum_source values ('a')"
${CLICKHOUSE_CLIENT} --query="create table enum_buf engine = Log as select * from enum_source;"
${CLICKHOUSE_CLIENT} --query="alter table enum_source modify column e Enum8('a'=1, 'b'=2);"
${CLICKHOUSE_CLIENT} --query="select * from enum_buf format Native" \
| ${CLICKHOUSE_CLIENT} --query="insert into enum_source format Native"
${CLICKHOUSE_CLIENT} --query="select * from enum_source;"
${CLICKHOUSE_CLIENT} --query="drop table enum_source;"
${CLICKHOUSE_CLIENT} --query="drop table enum_buf;"
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册