ClickHouse/tests/queries/0_stateless/02144_avg_ubsan.sql

12 lines
517 B
SQL

-- { echo }
-- Aggregate function 'avg' allows overflow with two's complement arithmetics.
-- This contradicts the standard SQL semantic and we are totally fine with it.
-- AggregateFunctionAvg::add
SELECT avg(-8000000000000000000) FROM (SELECT *, 1 AS k FROM numbers(65535*2)) GROUP BY k;
-- AggregateFunctionAvg::addBatchSinglePlace
SELECT avg(-8000000000000000000) FROM numbers(65535 * 2);
-- AggregateFunctionAvg::addBatchSinglePlaceNotNull
SELECT avg(toNullable(-8000000000000000000)) FROM numbers(65535 * 2);