mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-17 20:02:05 +00:00
More tests
This commit is contained in:
parent
ec12a089f3
commit
d27e04997d
@ -112,7 +112,6 @@ class GroupArrayNumericImpl final
|
|||||||
{
|
{
|
||||||
using Data = GroupArrayNumericData<T, Trait::sampler != Sampler::NONE>;
|
using Data = GroupArrayNumericData<T, Trait::sampler != Sampler::NONE>;
|
||||||
static constexpr bool limit_num_elems = Trait::has_limit;
|
static constexpr bool limit_num_elems = Trait::has_limit;
|
||||||
DataTypePtr & data_type;
|
|
||||||
UInt64 max_elems;
|
UInt64 max_elems;
|
||||||
UInt64 seed;
|
UInt64 seed;
|
||||||
|
|
||||||
@ -121,7 +120,6 @@ public:
|
|||||||
const DataTypePtr & data_type_, UInt64 max_elems_ = std::numeric_limits<UInt64>::max(), UInt64 seed_ = 123456)
|
const DataTypePtr & data_type_, UInt64 max_elems_ = std::numeric_limits<UInt64>::max(), UInt64 seed_ = 123456)
|
||||||
: IAggregateFunctionDataHelper<GroupArrayNumericData<T, Trait::sampler != Sampler::NONE>, GroupArrayNumericImpl<T, Trait>>(
|
: IAggregateFunctionDataHelper<GroupArrayNumericData<T, Trait::sampler != Sampler::NONE>, GroupArrayNumericImpl<T, Trait>>(
|
||||||
{data_type_}, {})
|
{data_type_}, {})
|
||||||
, data_type(this->argument_types[0])
|
|
||||||
, max_elems(max_elems_)
|
, max_elems(max_elems_)
|
||||||
, seed(seed_)
|
, seed(seed_)
|
||||||
{
|
{
|
||||||
@ -129,7 +127,7 @@ public:
|
|||||||
|
|
||||||
String getName() const override { return getNameByTrait<Trait>(); }
|
String getName() const override { return getNameByTrait<Trait>(); }
|
||||||
|
|
||||||
DataTypePtr getReturnType() const override { return std::make_shared<DataTypeArray>(data_type); }
|
DataTypePtr getReturnType() const override { return std::make_shared<DataTypeArray>(this->argument_types[0]); }
|
||||||
|
|
||||||
void insert(Data & a, const T & v, Arena * arena) const
|
void insert(Data & a, const T & v, Arena * arena) const
|
||||||
{
|
{
|
||||||
|
@ -56,7 +56,7 @@ public:
|
|||||||
|
|
||||||
DataTypePtr getReturnType() const override
|
DataTypePtr getReturnType() const override
|
||||||
{
|
{
|
||||||
return std::make_shared<DataTypeArray>(std::make_shared<DataTypeNumber<T>>());
|
return std::make_shared<DataTypeArray>(this->argument_types[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena *) const override
|
void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena *) const override
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
['Hello','World','Упячка']
|
['Hello','World','Упячка']
|
||||||
['Hello','World','World','Упячка','Упячка','Упячка']
|
['Hello','World','World','Упячка','Упячка','Упячка']
|
||||||
|
['world','hello'] Array(Enum8(\'world\' = 0, \'hello\' = 1)) ['world','hello'] Array(Enum8(\'world\' = 0, \'hello\' = 1))
|
||||||
|
@ -1,2 +1,13 @@
|
|||||||
SELECT arraySort(groupUniqArray(x)) FROM (SELECT CAST(arrayJoin([1, 2, 3, 2, 3, 3]) AS Enum('Hello' = 1, 'World' = 2, 'Упячка' = 3)) AS x);
|
SELECT arraySort(groupUniqArray(x)) FROM (SELECT CAST(arrayJoin([1, 2, 3, 2, 3, 3]) AS Enum('Hello' = 1, 'World' = 2, 'Упячка' = 3)) AS x);
|
||||||
SELECT arraySort(groupArray(x)) FROM (SELECT CAST(arrayJoin([1, 2, 3, 2, 3, 3]) AS Enum('Hello' = 1, 'World' = 2, 'Упячка' = 3)) AS x);
|
SELECT arraySort(groupArray(x)) FROM (SELECT CAST(arrayJoin([1, 2, 3, 2, 3, 3]) AS Enum('Hello' = 1, 'World' = 2, 'Упячка' = 3)) AS x);
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
arraySort(groupUniqArray(val)) AS uniq,
|
||||||
|
toTypeName(uniq),
|
||||||
|
arraySort(groupArray(val)) AS arr,
|
||||||
|
toTypeName(arr)
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT CAST(number % 2, 'Enum(\'hello\' = 1, \'world\' = 0)') AS val
|
||||||
|
FROM numbers(2)
|
||||||
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user