2020-10-26 13:27:58 +00:00
|
|
|
#!/usr/bin/env bash
|
2021-09-12 12:35:27 +00:00
|
|
|
# Tags: long
|
2020-10-26 13:27:58 +00:00
|
|
|
|
|
|
|
CUR_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
2020-12-28 11:46:53 +00:00
|
|
|
# shellcheck source=../shell_config.sh
|
2020-10-26 13:27:58 +00:00
|
|
|
. "$CUR_DIR"/../shell_config.sh
|
|
|
|
|
|
|
|
${CLICKHOUSE_CLIENT} --query="SELECT avgWeighted(x, weight) FROM (SELECT t.1 AS x, t.2 AS weight FROM (SELECT arrayJoin([(1, 5), (2, 4), (3, 3), (4, 2), (5, 1)]) AS t));"
|
|
|
|
${CLICKHOUSE_CLIENT} --query="SELECT avgWeighted(x, weight) FROM (SELECT t.1 AS x, t.2 AS weight FROM (SELECT arrayJoin([(1, 0), (2, 0), (3, 0), (4, 0), (5, 0)]) AS t));"
|
2020-11-24 14:07:59 +00:00
|
|
|
${CLICKHOUSE_CLIENT} --query="SELECT avgWeighted(x, y) FROM (select toDecimal256(1, 0) x, toDecimal256(1, 1) y);"
|
|
|
|
${CLICKHOUSE_CLIENT} --query="SELECT avgWeighted(x, y) FROM (select toDecimal32(1, 0) x, toDecimal256(1, 1) y);"
|
2020-10-26 13:27:58 +00:00
|
|
|
|
2020-10-26 14:43:09 +00:00
|
|
|
types=("Int8" "Int16" "Int32" "Int64" "UInt8" "UInt16" "UInt32" "UInt64" "Float32" "Float64")
|
2023-07-25 08:37:02 +00:00
|
|
|
exttypes=("Int128" "Int256" "UInt256")
|
|
|
|
# Decimal types
|
|
|
|
dtypes=("32" "64" "128" "256")
|
2020-10-26 13:27:58 +00:00
|
|
|
|
2023-07-25 08:37:02 +00:00
|
|
|
(
|
|
|
|
for left in "${types[@]}"
|
2020-10-26 13:27:58 +00:00
|
|
|
do
|
2023-07-25 08:37:02 +00:00
|
|
|
for right in "${types[@]}"
|
|
|
|
do
|
|
|
|
echo "SELECT avgWeighted(x, w) FROM values('x ${left}, w ${right}', (4, 1), (1, 0), (10, 2));"
|
|
|
|
echo "SELECT avgWeighted(x, w) FROM values('x ${left}, w ${right}', (0, 0), (1, 0));"
|
|
|
|
done
|
2020-10-26 13:27:58 +00:00
|
|
|
done
|
2020-10-26 14:43:09 +00:00
|
|
|
|
2023-07-25 08:37:02 +00:00
|
|
|
for left in "${exttypes[@]}"
|
2020-10-26 14:43:09 +00:00
|
|
|
do
|
2023-07-25 08:37:02 +00:00
|
|
|
for right in "${exttypes[@]}"
|
|
|
|
do
|
|
|
|
echo "SELECT avgWeighted(to${left}(1), to${right}(2));"
|
|
|
|
done
|
2020-10-26 14:43:09 +00:00
|
|
|
done
|
2020-10-26 13:27:58 +00:00
|
|
|
|
2023-07-25 08:37:02 +00:00
|
|
|
for left in "${dtypes[@]}"
|
2020-10-26 13:27:58 +00:00
|
|
|
do
|
2023-07-25 08:37:02 +00:00
|
|
|
for right in "${dtypes[@]}"
|
|
|
|
do
|
|
|
|
echo "SELECT avgWeighted(toDecimal${left}(2, 4), toDecimal${right}(1, 4));"
|
|
|
|
done
|
2020-10-26 13:27:58 +00:00
|
|
|
done
|
2023-07-25 08:37:02 +00:00
|
|
|
) | clickhouse-client -nm
|
2020-10-26 13:27:58 +00:00
|
|
|
|
|
|
|
echo "$(${CLICKHOUSE_CLIENT} --server_logs_file=/dev/null --query="SELECT avgWeighted(['string'], toFloat64(0))" 2>&1)" \
|
2020-10-26 14:43:09 +00:00
|
|
|
| grep -c 'Code: 43. DB::Exception: .* DB::Exception:.* Types .* are non-conforming as arguments for aggregate function avgWeighted'
|