mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-19 16:20:50 +00:00
Merge pull request #25410 from vdimir/issue-21730
This commit is contained in:
commit
51e5a019ed
@ -1,18 +1,19 @@
|
||||
#include <Columns/ColumnFixedString.h>
|
||||
#include <Columns/ColumnLowCardinality.h>
|
||||
#include <Columns/ColumnUnique.h>
|
||||
#include <Columns/ColumnFixedString.h>
|
||||
#include <Columns/ColumnsCommon.h>
|
||||
#include <Common/HashTable/HashMap.h>
|
||||
#include <Common/typeid_cast.h>
|
||||
#include <Common/assert_cast.h>
|
||||
#include <Common/typeid_cast.h>
|
||||
#include <Core/Field.h>
|
||||
#include <Core/TypeListNumber.h>
|
||||
#include <DataTypes/DataTypeDate.h>
|
||||
#include <DataTypes/DataTypeDateTime.h>
|
||||
#include <DataTypes/DataTypeFactory.h>
|
||||
#include <DataTypes/DataTypeInterval.h>
|
||||
#include <DataTypes/DataTypeLowCardinality.h>
|
||||
#include <DataTypes/DataTypeNullable.h>
|
||||
#include <DataTypes/DataTypesNumber.h>
|
||||
#include <DataTypes/DataTypeDate.h>
|
||||
#include <DataTypes/DataTypeDateTime.h>
|
||||
#include <DataTypes/Serializations/SerializationLowCardinality.h>
|
||||
#include <Parsers/IAST.h>
|
||||
|
||||
@ -81,6 +82,8 @@ MutableColumnUniquePtr DataTypeLowCardinality::createColumnUniqueImpl(const IDat
|
||||
return creator(static_cast<ColumnVector<UInt32> *>(nullptr));
|
||||
else if (which.isUUID())
|
||||
return creator(static_cast<ColumnVector<UUID> *>(nullptr));
|
||||
else if (which.isInterval())
|
||||
return creator(static_cast<DataTypeInterval::ColumnType *>(nullptr));
|
||||
else if (which.isInt() || which.isUInt() || which.isFloat())
|
||||
{
|
||||
MutableColumnUniquePtr column;
|
||||
|
@ -0,0 +1,6 @@
|
||||
1 LowCardinality(IntervalMinute)
|
||||
2 LowCardinality(IntervalMinute)
|
||||
1 LowCardinality(IntervalDay)
|
||||
2 LowCardinality(IntervalDay)
|
||||
61f0c404-5cb3-11e7-907b-a6006ad3dba2 LowCardinality(UUID)
|
||||
2 LowCardinality(String)
|
20
tests/queries/0_stateless/01916_lowcard_dict_type.sql
Normal file
20
tests/queries/0_stateless/01916_lowcard_dict_type.sql
Normal file
@ -0,0 +1,20 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP TABLE IF EXISTS t2;
|
||||
|
||||
CREATE TABLE t1 (`x` UInt32, `lc` LowCardinality(String) ) ENGINE = Memory;
|
||||
INSERT INTO t1 VALUES (1, '1'), (2, '2');
|
||||
|
||||
SELECT toIntervalMinute(lc) as e, toTypeName(e) FROM t1;
|
||||
SELECT toIntervalDay(lc) as e, toTypeName(e) FROM t1;
|
||||
|
||||
CREATE TABLE t2 (`x` UInt32, `lc` LowCardinality(String) ) ENGINE = Memory;
|
||||
INSERT INTO t2 VALUES (1, '61f0c404-5cb3-11e7-907b-a6006ad3dba2');
|
||||
|
||||
SELECT toUUID(lc) as e, toTypeName(e) FROM t2;
|
||||
|
||||
INSERT INTO t2 VALUES (2, '2');
|
||||
|
||||
SELECT toIntervalMinute(lc), toTypeName(materialize(r.lc)) FROM t1 AS l INNER JOIN t2 as r USING (lc);
|
||||
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP TABLE IF EXISTS t2;
|
Loading…
Reference in New Issue
Block a user