mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-25 17:12:03 +00:00
Use a single "place" for a default precision constant.
Also update stateless tests.
This commit is contained in:
parent
45e6fd8cd2
commit
28ea773b9e
@ -6,6 +6,6 @@ do
|
|||||||
do
|
do
|
||||||
n=$(( 10**p * i ))
|
n=$(( 10**p * i ))
|
||||||
echo -n "$n "
|
echo -n "$n "
|
||||||
clickhouse-client -q "select uniqHLL12(number), uniq(number), uniqCombined(17)(number) from numbers($n);"
|
clickhouse-client -q "select uniqHLL12(number), uniq(number), uniqCombined(number) from numbers($n);"
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
@ -22,7 +22,7 @@ namespace
|
|||||||
AggregateFunctionPtr createAggregateFunctionUniqCombined(
|
AggregateFunctionPtr createAggregateFunctionUniqCombined(
|
||||||
const std::string & name, const DataTypes & argument_types, const Array & params)
|
const std::string & name, const DataTypes & argument_types, const Array & params)
|
||||||
{
|
{
|
||||||
UInt8 precision = 17; /// default value - must correlate with default ctor of |AggregateFunctionUniqCombinedData|
|
UInt8 precision = detail::UNIQ_COMBINED_DEFAULT_PRECISION;
|
||||||
|
|
||||||
if (!params.empty())
|
if (!params.empty())
|
||||||
{
|
{
|
||||||
|
@ -19,10 +19,14 @@
|
|||||||
|
|
||||||
#include <Common/typeid_cast.h>
|
#include <Common/typeid_cast.h>
|
||||||
|
|
||||||
|
#define DEFAULT_HLL_PRECISION 17
|
||||||
|
|
||||||
namespace DB
|
namespace DB
|
||||||
{
|
{
|
||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
|
const UInt8 UNIQ_COMBINED_DEFAULT_PRECISION = DEFAULT_HLL_PRECISION;
|
||||||
|
|
||||||
/** Hash function for uniqCombined.
|
/** Hash function for uniqCombined.
|
||||||
*/
|
*/
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -94,12 +98,19 @@ struct AggregateFunctionUniqCombinedDataWithKey
|
|||||||
mutable Set<20> set_20;
|
mutable Set<20> set_20;
|
||||||
};
|
};
|
||||||
|
|
||||||
AggregateFunctionUniqCombinedDataWithKey() : set_17() {}
|
#define PASTE(x, y) x##y
|
||||||
|
#define EVAL(x, y) PASTE(x, y)
|
||||||
|
#define DEFAULT_SET EVAL(set_, DEFAULT_HLL_PRECISION)
|
||||||
|
|
||||||
|
AggregateFunctionUniqCombinedDataWithKey() : DEFAULT_SET() {}
|
||||||
|
|
||||||
~AggregateFunctionUniqCombinedDataWithKey()
|
~AggregateFunctionUniqCombinedDataWithKey()
|
||||||
{
|
{
|
||||||
switch (inited)
|
switch (inited)
|
||||||
{
|
{
|
||||||
|
case 0:
|
||||||
|
DEFAULT_SET.~CombinedCardinalityEstimator();
|
||||||
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
set_12.~CombinedCardinalityEstimator();
|
set_12.~CombinedCardinalityEstimator();
|
||||||
break;
|
break;
|
||||||
@ -115,7 +126,6 @@ struct AggregateFunctionUniqCombinedDataWithKey
|
|||||||
case 16:
|
case 16:
|
||||||
set_16.~CombinedCardinalityEstimator();
|
set_16.~CombinedCardinalityEstimator();
|
||||||
break;
|
break;
|
||||||
case 0:
|
|
||||||
case 17:
|
case 17:
|
||||||
set_17.~CombinedCardinalityEstimator();
|
set_17.~CombinedCardinalityEstimator();
|
||||||
break;
|
break;
|
||||||
@ -136,7 +146,7 @@ struct AggregateFunctionUniqCombinedDataWithKey
|
|||||||
if (inited)
|
if (inited)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (precision == 17)
|
if (precision == DEFAULT_HLL_PRECISION)
|
||||||
{
|
{
|
||||||
inited = precision;
|
inited = precision;
|
||||||
return;
|
return;
|
||||||
@ -144,7 +154,7 @@ struct AggregateFunctionUniqCombinedDataWithKey
|
|||||||
|
|
||||||
// TODO: assert "inited == precision"
|
// TODO: assert "inited == precision"
|
||||||
|
|
||||||
set_17.~CombinedCardinalityEstimator();
|
DEFAULT_SET.~CombinedCardinalityEstimator();
|
||||||
|
|
||||||
switch (precision)
|
switch (precision)
|
||||||
{
|
{
|
||||||
@ -163,6 +173,9 @@ struct AggregateFunctionUniqCombinedDataWithKey
|
|||||||
case 16:
|
case 16:
|
||||||
new (&set_16) Set<16>;
|
new (&set_16) Set<16>;
|
||||||
break;
|
break;
|
||||||
|
case 17:
|
||||||
|
new (&set_17) Set<17>;
|
||||||
|
break;
|
||||||
case 18:
|
case 18:
|
||||||
new (&set_18) Set<18>;
|
new (&set_18) Set<18>;
|
||||||
break;
|
break;
|
||||||
@ -221,15 +234,16 @@ struct AggregateFunctionUniqCombinedDataWithKey
|
|||||||
return set_15.method; \
|
return set_15.method; \
|
||||||
case 16: \
|
case 16: \
|
||||||
return set_16.method; \
|
return set_16.method; \
|
||||||
|
case 17: \
|
||||||
|
return set_17.method; \
|
||||||
case 18: \
|
case 18: \
|
||||||
return set_18.method; \
|
return set_18.method; \
|
||||||
case 19: \
|
case 19: \
|
||||||
return set_19.method; \
|
return set_19.method; \
|
||||||
case 20: \
|
case 20: \
|
||||||
return set_20.method; \
|
return set_20.method; \
|
||||||
case 17: \
|
|
||||||
default: \
|
default: \
|
||||||
return set_17.method; \
|
return DEFAULT_SET.method; \
|
||||||
}
|
}
|
||||||
|
|
||||||
void insert(Key value, UInt8 precision)
|
void insert(Key value, UInt8 precision)
|
||||||
@ -293,6 +307,10 @@ struct AggregateFunctionUniqCombinedDataWithKey
|
|||||||
|
|
||||||
#undef SET_METHOD
|
#undef SET_METHOD
|
||||||
#undef SET_RETURN_METHOD
|
#undef SET_RETURN_METHOD
|
||||||
|
#undef PASTE
|
||||||
|
#undef EVAL
|
||||||
|
#undef DEFAULT_SET
|
||||||
|
#undef DEFAULT_HLL_PRECISION
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -259,6 +259,58 @@
|
|||||||
31 53948
|
31 53948
|
||||||
35 53931
|
35 53931
|
||||||
36 53982
|
36 53982
|
||||||
|
1 1
|
||||||
|
3 1
|
||||||
|
6 1
|
||||||
|
7 1
|
||||||
|
9 1
|
||||||
|
11 1
|
||||||
|
14 1
|
||||||
|
17 1
|
||||||
|
19 1
|
||||||
|
20 2
|
||||||
|
26 1
|
||||||
|
31 1
|
||||||
|
35 1
|
||||||
|
36 1
|
||||||
|
0 162
|
||||||
|
1 162
|
||||||
|
3 162
|
||||||
|
6 162
|
||||||
|
7 163
|
||||||
|
9 163
|
||||||
|
10 81
|
||||||
|
11 163
|
||||||
|
13 162
|
||||||
|
14 162
|
||||||
|
17 162
|
||||||
|
19 162
|
||||||
|
20 162
|
||||||
|
21 162
|
||||||
|
22 162
|
||||||
|
26 162
|
||||||
|
31 162
|
||||||
|
35 162
|
||||||
|
36 162
|
||||||
|
0 53901
|
||||||
|
1 54056
|
||||||
|
3 53999
|
||||||
|
6 54129
|
||||||
|
7 54213
|
||||||
|
9 53853
|
||||||
|
10 26975
|
||||||
|
11 54064
|
||||||
|
13 53963
|
||||||
|
14 53997
|
||||||
|
17 54129
|
||||||
|
19 53923
|
||||||
|
20 53958
|
||||||
|
21 54117
|
||||||
|
22 54150
|
||||||
|
26 54047
|
||||||
|
31 53948
|
||||||
|
35 53931
|
||||||
|
36 53982
|
||||||
0.125 1
|
0.125 1
|
||||||
0.5 1
|
0.5 1
|
||||||
0.05 1
|
0.05 1
|
||||||
@ -311,6 +363,110 @@
|
|||||||
0.043 54150
|
0.043 54150
|
||||||
0.037 54047
|
0.037 54047
|
||||||
0.071 53963
|
0.071 53963
|
||||||
|
0.125 1
|
||||||
|
0.5 1
|
||||||
|
0.05 1
|
||||||
|
0.143 1
|
||||||
|
0.056 1
|
||||||
|
0.048 2
|
||||||
|
0.083 1
|
||||||
|
0.25 1
|
||||||
|
0.1 1
|
||||||
|
0.028 1
|
||||||
|
0.027 1
|
||||||
|
0.031 1
|
||||||
|
0.067 1
|
||||||
|
0.037 1
|
||||||
|
0.045 162
|
||||||
|
0.125 163
|
||||||
|
0.5 162
|
||||||
|
0.05 162
|
||||||
|
0.143 162
|
||||||
|
0.091 81
|
||||||
|
0.056 162
|
||||||
|
0.048 162
|
||||||
|
0.083 163
|
||||||
|
0.25 162
|
||||||
|
1 162
|
||||||
|
0.1 163
|
||||||
|
0.028 162
|
||||||
|
0.027 162
|
||||||
|
0.031 162
|
||||||
|
0.067 162
|
||||||
|
0.043 162
|
||||||
|
0.037 162
|
||||||
|
0.071 162
|
||||||
|
0.045 54117
|
||||||
|
0.125 54213
|
||||||
|
0.5 54056
|
||||||
|
0.05 53923
|
||||||
|
0.143 54129
|
||||||
|
0.091 26975
|
||||||
|
0.056 54129
|
||||||
|
0.048 53958
|
||||||
|
0.083 54064
|
||||||
|
0.25 53999
|
||||||
|
1 53901
|
||||||
|
0.1 53853
|
||||||
|
0.028 53931
|
||||||
|
0.027 53982
|
||||||
|
0.031 53948
|
||||||
|
0.067 53997
|
||||||
|
0.043 54150
|
||||||
|
0.037 54047
|
||||||
|
0.071 53963
|
||||||
|
0.5 1
|
||||||
|
0.05 1
|
||||||
|
0.25 1
|
||||||
|
0.048 2
|
||||||
|
0.083 1
|
||||||
|
0.125 1
|
||||||
|
0.031 1
|
||||||
|
0.143 1
|
||||||
|
0.028 1
|
||||||
|
0.067 1
|
||||||
|
0.027 1
|
||||||
|
0.056 1
|
||||||
|
0.037 1
|
||||||
|
0.1 1
|
||||||
|
0.5 162
|
||||||
|
0.05 162
|
||||||
|
0.25 162
|
||||||
|
0.048 162
|
||||||
|
0.091 81
|
||||||
|
0.043 162
|
||||||
|
0.071 162
|
||||||
|
0.083 163
|
||||||
|
0.125 163
|
||||||
|
0.031 162
|
||||||
|
0.143 162
|
||||||
|
0.028 162
|
||||||
|
0.067 162
|
||||||
|
0.045 162
|
||||||
|
0.027 162
|
||||||
|
0.056 162
|
||||||
|
0.037 162
|
||||||
|
0.1 163
|
||||||
|
1 162
|
||||||
|
0.5 54056
|
||||||
|
0.05 53923
|
||||||
|
0.25 53999
|
||||||
|
0.048 53958
|
||||||
|
0.091 26975
|
||||||
|
0.043 54150
|
||||||
|
0.071 53963
|
||||||
|
0.083 54064
|
||||||
|
0.125 54213
|
||||||
|
0.031 53948
|
||||||
|
0.143 54129
|
||||||
|
0.028 53931
|
||||||
|
0.067 53997
|
||||||
|
0.045 54117
|
||||||
|
0.027 53982
|
||||||
|
0.056 54129
|
||||||
|
0.037 54047
|
||||||
|
0.1 53853
|
||||||
|
1 53901
|
||||||
0.5 1
|
0.5 1
|
||||||
0.05 1
|
0.05 1
|
||||||
0.25 1
|
0.25 1
|
||||||
@ -415,4 +571,57 @@
|
|||||||
31 54074
|
31 54074
|
||||||
35 54153
|
35 54153
|
||||||
36 53999
|
36 53999
|
||||||
|
1 1
|
||||||
|
3 1
|
||||||
|
6 1
|
||||||
|
7 1
|
||||||
|
9 1
|
||||||
|
11 1
|
||||||
|
14 1
|
||||||
|
17 1
|
||||||
|
19 1
|
||||||
|
20 2
|
||||||
|
26 1
|
||||||
|
31 1
|
||||||
|
35 1
|
||||||
|
36 1
|
||||||
|
0 162
|
||||||
|
1 162
|
||||||
|
3 162
|
||||||
|
6 162
|
||||||
|
7 163
|
||||||
|
9 163
|
||||||
|
10 81
|
||||||
|
11 163
|
||||||
|
13 162
|
||||||
|
14 162
|
||||||
|
17 162
|
||||||
|
19 162
|
||||||
|
20 162
|
||||||
|
21 162
|
||||||
|
22 162
|
||||||
|
26 162
|
||||||
|
31 162
|
||||||
|
35 162
|
||||||
|
36 162
|
||||||
|
0 54195
|
||||||
|
1 54086
|
||||||
|
3 54127
|
||||||
|
6 54173
|
||||||
|
7 53969
|
||||||
|
9 54257
|
||||||
|
10 26985
|
||||||
|
11 53880
|
||||||
|
13 54105
|
||||||
|
14 54043
|
||||||
|
17 54176
|
||||||
|
19 53913
|
||||||
|
20 54088
|
||||||
|
21 53991
|
||||||
|
22 54112
|
||||||
|
26 54136
|
||||||
|
31 54074
|
||||||
|
35 54153
|
||||||
|
36 53999
|
||||||
|
1
|
||||||
1
|
1
|
||||||
|
@ -20,20 +20,38 @@ SELECT uniqHLL12(dummy) FROM remote('127.0.0.{2,3}', system.one);
|
|||||||
|
|
||||||
/* uniqCombined */
|
/* uniqCombined */
|
||||||
|
|
||||||
|
SELECT Y, uniqCombined(X) FROM (SELECT number AS X, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
||||||
|
SELECT Y, uniqCombined(X) FROM (SELECT number AS X, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
||||||
|
SELECT Y, uniqCombined(X) FROM (SELECT number AS X, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
||||||
|
|
||||||
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
||||||
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
||||||
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
||||||
|
|
||||||
|
SELECT Y, uniqCombined(X) FROM (SELECT number AS X, round(1/(1 + (3*X*X - 7*X + 11) % 37), 3) AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
||||||
|
SELECT Y, uniqCombined(X) FROM (SELECT number AS X, round(1/(1 + (3*X*X - 7*X + 11) % 37), 3) AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
||||||
|
SELECT Y, uniqCombined(X) FROM (SELECT number AS X, round(1/(1 + (3*X*X - 7*X + 11) % 37), 3) AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
||||||
|
|
||||||
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(1/(1 + (3*X*X - 7*X + 11) % 37), 3) AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(1/(1 + (3*X*X - 7*X + 11) % 37), 3) AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
||||||
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(1/(1 + (3*X*X - 7*X + 11) % 37), 3) AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(1/(1 + (3*X*X - 7*X + 11) % 37), 3) AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
||||||
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(1/(1 + (3*X*X - 7*X + 11) % 37), 3) AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(1/(1 + (3*X*X - 7*X + 11) % 37), 3) AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
||||||
|
|
||||||
|
SELECT Y, uniqCombined(X) FROM (SELECT number AS X, round(toFloat32(1/(1 + (3*X*X - 7*X + 11) % 37)), 3) AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
||||||
|
SELECT Y, uniqCombined(X) FROM (SELECT number AS X, round(toFloat32(1/(1 + (3*X*X - 7*X + 11) % 37)), 3) AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
||||||
|
SELECT Y, uniqCombined(X) FROM (SELECT number AS X, round(toFloat32(1/(1 + (3*X*X - 7*X + 11) % 37)), 3) AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
||||||
|
|
||||||
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(toFloat32(1/(1 + (3*X*X - 7*X + 11) % 37)), 3) AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(toFloat32(1/(1 + (3*X*X - 7*X + 11) % 37)), 3) AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
||||||
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(toFloat32(1/(1 + (3*X*X - 7*X + 11) % 37)), 3) AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(toFloat32(1/(1 + (3*X*X - 7*X + 11) % 37)), 3) AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
||||||
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(toFloat32(1/(1 + (3*X*X - 7*X + 11) % 37)), 3) AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(X) FROM (SELECT number AS X, round(toFloat32(1/(1 + (3*X*X - 7*X + 11) % 37)), 3) AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
||||||
|
|
||||||
|
SELECT Y, uniqCombined(Z) FROM (SELECT number AS X, IPv4NumToString(toUInt32(X)) AS Z, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
||||||
|
SELECT Y, uniqCombined(Z) FROM (SELECT number AS X, IPv4NumToString(toUInt32(X)) AS Z, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
||||||
|
SELECT Y, uniqCombined(Z) FROM (SELECT number AS X, IPv4NumToString(toUInt32(X)) AS Z, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
||||||
|
|
||||||
SELECT Y, uniqCombined(17)(Z) FROM (SELECT number AS X, IPv4NumToString(toUInt32(X)) AS Z, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(Z) FROM (SELECT number AS X, IPv4NumToString(toUInt32(X)) AS Z, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 15) GROUP BY Y;
|
||||||
SELECT Y, uniqCombined(17)(Z) FROM (SELECT number AS X, IPv4NumToString(toUInt32(X)) AS Z, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(Z) FROM (SELECT number AS X, IPv4NumToString(toUInt32(X)) AS Z, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 3000) GROUP BY Y;
|
||||||
SELECT Y, uniqCombined(17)(Z) FROM (SELECT number AS X, IPv4NumToString(toUInt32(X)) AS Z, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
SELECT Y, uniqCombined(17)(Z) FROM (SELECT number AS X, IPv4NumToString(toUInt32(X)) AS Z, (3*X*X - 7*X + 11) % 37 AS Y FROM system.numbers LIMIT 1000000) GROUP BY Y;
|
||||||
|
|
||||||
|
SELECT uniqCombined(dummy) FROM remote('127.0.0.{2,3}', system.one);
|
||||||
|
|
||||||
SELECT uniqCombined(17)(dummy) FROM remote('127.0.0.{2,3}', system.one);
|
SELECT uniqCombined(17)(dummy) FROM remote('127.0.0.{2,3}', system.one);
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
10 10 100 100 1000 1000 10 10 100 100 1000 1000 10 10 101 101 1006 1006 10 10 100 100 1000 1000 6 6 6 6 6 6
|
10 10 100 100 1000 1000 10 10 100 100 1000 1000 10 10 100 100 1000 1000 10 10 101 101 1006 1006 10 10 100 100 1000 1000 6 6 6 6 6 6
|
||||||
17 10 10 100 100 610 610 10 10 100 100 610 610 10 10 101 101 616 616 10 10 100 100 610 610 6 6 6 6 6 6 766
|
17 10 10 100 100 610 610 10 10 100 100 610 610 10 10 100 100 610 610 10 10 101 101 616 616 10 10 100 100 610 610 6 6 6 6 6 6 766
|
||||||
52 10 10 100 100 608 608 10 10 100 100 608 608 10 10 101 101 611 611 10 10 100 100 608 608 6 6 6 6 6 6 766
|
52 10 10 100 100 608 608 10 10 100 100 608 608 10 10 100 100 608 608 10 10 101 101 611 611 10 10 100 100 608 608 6 6 6 6 6 6 766
|
||||||
5 10 10 100 100 609 609 10 10 100 100 609 609 10 10 101 101 608 608 10 10 100 100 609 609 6 6 6 6 6 6 765
|
5 10 10 100 100 609 609 10 10 100 100 609 609 10 10 100 100 609 609 10 10 101 101 608 608 10 10 100 100 609 609 6 6 6 6 6 6 765
|
||||||
9 10 10 100 100 608 608 10 10 100 100 608 608 10 10 101 101 618 618 10 10 100 100 608 608 6 6 6 6 6 6 765
|
9 10 10 100 100 608 608 10 10 100 100 608 608 10 10 100 100 608 608 10 10 101 101 618 618 10 10 100 100 608 608 6 6 6 6 6 6 765
|
||||||
13 10 10 100 100 607 607 10 10 100 100 607 607 10 10 101 101 610 610 10 10 100 100 607 607 6 6 6 6 6 6 765
|
13 10 10 100 100 607 607 10 10 100 100 607 607 10 10 100 100 607 607 10 10 101 101 610 610 10 10 100 100 607 607 6 6 6 6 6 6 765
|
||||||
46 10 10 100 100 607 607 10 10 100 100 607 607 10 10 101 101 611 611 10 10 100 100 607 607 6 6 6 6 6 6 765
|
46 10 10 100 100 607 607 10 10 100 100 607 607 10 10 100 100 607 607 10 10 101 101 611 611 10 10 100 100 607 607 6 6 6 6 6 6 765
|
||||||
48 10 10 100 100 609 609 10 10 100 100 609 609 10 10 101 101 617 617 10 10 100 100 609 609 6 6 6 6 6 6 765
|
48 10 10 100 100 609 609 10 10 100 100 609 609 10 10 100 100 609 609 10 10 101 101 617 617 10 10 100 100 609 609 6 6 6 6 6 6 765
|
||||||
50 10 10 100 100 608 608 10 10 100 100 608 608 10 10 101 101 614 614 10 10 100 100 608 608 6 6 6 6 6 6 765
|
50 10 10 100 100 608 608 10 10 100 100 608 608 10 10 100 100 608 608 10 10 101 101 614 614 10 10 100 100 608 608 6 6 6 6 6 6 765
|
||||||
54 10 10 100 100 609 609 10 10 100 100 609 609 10 10 101 101 615 615 10 10 100 100 609 609 6 6 6 6 6 6 765
|
54 10 10 100 100 609 609 10 10 100 100 609 609 10 10 100 100 609 609 10 10 101 101 615 615 10 10 100 100 609 609 6 6 6 6 6 6 765
|
||||||
56 10 10 100 100 608 608 10 10 100 100 608 608 10 10 101 101 614 614 10 10 100 100 608 608 6 6 6 6 6 6 765
|
56 10 10 100 100 608 608 10 10 100 100 608 608 10 10 100 100 608 608 10 10 101 101 614 614 10 10 100 100 608 608 6 6 6 6 6 6 765
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
SELECT
|
SELECT
|
||||||
uniq(x), uniq((x)), uniq(x, y), uniq((x, y)), uniq(x, y, z), uniq((x, y, z)),
|
uniq(x), uniq((x)), uniq(x, y), uniq((x, y)), uniq(x, y, z), uniq((x, y, z)),
|
||||||
|
uniqCombined(x), uniqCombined((x)), uniqCombined(x, y), uniqCombined((x, y)), uniqCombined(x, y, z), uniqCombined((x, y, z)),
|
||||||
uniqCombined(17)(x), uniqCombined(17)((x)), uniqCombined(17)(x, y), uniqCombined(17)((x, y)), uniqCombined(17)(x, y, z), uniqCombined(17)((x, y, z)),
|
uniqCombined(17)(x), uniqCombined(17)((x)), uniqCombined(17)(x, y), uniqCombined(17)((x, y)), uniqCombined(17)(x, y, z), uniqCombined(17)((x, y, z)),
|
||||||
uniqHLL12(x), uniqHLL12((x)), uniqHLL12(x, y), uniqHLL12((x, y)), uniqHLL12(x, y, z), uniqHLL12((x, y, z)),
|
uniqHLL12(x), uniqHLL12((x)), uniqHLL12(x, y), uniqHLL12((x, y)), uniqHLL12(x, y, z), uniqHLL12((x, y, z)),
|
||||||
uniqExact(x), uniqExact((x)), uniqExact(x, y), uniqExact((x, y)), uniqExact(x, y, z), uniqExact((x, y, z)),
|
uniqExact(x), uniqExact((x)), uniqExact(x, y), uniqExact((x, y)), uniqExact(x, y, z), uniqExact((x, y, z)),
|
||||||
@ -16,6 +17,7 @@ FROM
|
|||||||
|
|
||||||
SELECT k,
|
SELECT k,
|
||||||
uniq(x), uniq((x)), uniq(x, y), uniq((x, y)), uniq(x, y, z), uniq((x, y, z)),
|
uniq(x), uniq((x)), uniq(x, y), uniq((x, y)), uniq(x, y, z), uniq((x, y, z)),
|
||||||
|
uniqCombined(x), uniqCombined((x)), uniqCombined(x, y), uniqCombined((x, y)), uniqCombined(x, y, z), uniqCombined((x, y, z)),
|
||||||
uniqCombined(17)(x), uniqCombined(17)((x)), uniqCombined(17)(x, y), uniqCombined(17)((x, y)), uniqCombined(17)(x, y, z), uniqCombined(17)((x, y, z)),
|
uniqCombined(17)(x), uniqCombined(17)((x)), uniqCombined(17)(x, y), uniqCombined(17)((x, y)), uniqCombined(17)(x, y, z), uniqCombined(17)((x, y, z)),
|
||||||
uniqHLL12(x), uniqHLL12((x)), uniqHLL12(x, y), uniqHLL12((x, y)), uniqHLL12(x, y, z), uniqHLL12((x, y, z)),
|
uniqHLL12(x), uniqHLL12((x)), uniqHLL12(x, y), uniqHLL12((x, y)), uniqHLL12(x, y, z), uniqHLL12((x, y, z)),
|
||||||
uniqExact(x), uniqExact((x)), uniqExact(x, y), uniqExact((x, y)), uniqExact(x, y, z), uniqExact((x, y, z)),
|
uniqExact(x), uniqExact((x)), uniqExact(x, y), uniqExact((x, y)), uniqExact(x, y, z), uniqExact((x, y, z)),
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
0.0000 0.00000000 0.00000000
|
0.0000 0.00000000 0.00000000
|
||||||
25.5000 8.49999999 5.10000000
|
25.5000 8.49999999 5.10000000
|
||||||
-25.5000 -8.49999999 -5.10000000
|
-25.5000 -8.49999999 -5.10000000
|
||||||
(101,101,101) (101,101,101) (101,101,101) (102,100,101)
|
(101,101,101) (101,101,101) (101,101,101) (101,101,101) (102,100,101)
|
||||||
5 5 5
|
5 5 5
|
||||||
10 10 10
|
10 10 10
|
||||||
-50.0000 -50.0000 -16.66666666 -16.66666666 -10.00000000 -10.00000000
|
-50.0000 -50.0000 -16.66666666 -16.66666666 -10.00000000 -10.00000000
|
||||||
|
@ -28,6 +28,7 @@ SELECT avg(a), avg(b), avg(c) FROM test.decimal WHERE a > 0;
|
|||||||
SELECT avg(a), avg(b), avg(c) FROM test.decimal WHERE a < 0;
|
SELECT avg(a), avg(b), avg(c) FROM test.decimal WHERE a < 0;
|
||||||
|
|
||||||
SELECT (uniq(a), uniq(b), uniq(c)),
|
SELECT (uniq(a), uniq(b), uniq(c)),
|
||||||
|
(uniqCombined(a), uniqCombined(b), uniqCombined(c)),
|
||||||
(uniqCombined(17)(a), uniqCombined(17)(b), uniqCombined(17)(c)),
|
(uniqCombined(17)(a), uniqCombined(17)(b), uniqCombined(17)(c)),
|
||||||
(uniqExact(a), uniqExact(b), uniqExact(c)),
|
(uniqExact(a), uniqExact(b), uniqExact(c)),
|
||||||
(uniqHLL12(a), uniqHLL12(b), uniqHLL12(c))
|
(uniqHLL12(a), uniqHLL12(b), uniqHLL12(c))
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
SELECT RegionID, uniqHLL12(WatchID) AS X FROM remote('127.0.0.{1,2}', test, hits) GROUP BY RegionID HAVING X > 100000 ORDER BY RegionID ASC;
|
SELECT RegionID, uniqHLL12(WatchID) AS X FROM remote('127.0.0.{1,2}', test, hits) GROUP BY RegionID HAVING X > 100000 ORDER BY RegionID ASC;
|
||||||
SELECT RegionID, uniqCombined(17)(WatchID) AS X FROM remote('127.0.0.{1,2}', test, hits) GROUP BY RegionID HAVING X > 100000 ORDER BY RegionID ASC;
|
SELECT RegionID, uniqCombined(WatchID) AS X FROM remote('127.0.0.{1,2}', test, hits) GROUP BY RegionID HAVING X > 100000 ORDER BY RegionID ASC;
|
||||||
SELECT abs(uniq(WatchID) - uniqExact(WatchID)) FROM test.hits;
|
SELECT abs(uniq(WatchID) - uniqExact(WatchID)) FROM test.hits;
|
||||||
|
Loading…
Reference in New Issue
Block a user