mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-09-13 08:52:15 +00:00
feat(function): add mergeable binary average states
Signed-off-by: discord9 <discord9@163.com>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
-- The persisted states have counts 2 and 1 and sums 3.0 and 6.0.
|
||||
-- Null and canonical empty states do not change the merged AVG1 state.
|
||||
SELECT avg_merge(state) = X'4156473103000000000000000000000000002240' AS merged_state_matches
|
||||
FROM avg1_states;
|
||||
|
||||
-- A new state over the equivalent Float64 values has the exact same AVG1 bytes.
|
||||
WITH generated_values AS (
|
||||
SELECT CAST(1.0 AS DOUBLE) AS value
|
||||
UNION ALL SELECT CAST(2.0 AS DOUBLE)
|
||||
UNION ALL SELECT CAST(6.0 AS DOUBLE)
|
||||
)
|
||||
SELECT avg_state(value) = X'4156473103000000000000000000000000002240' AS generated_state_matches
|
||||
FROM generated_values;
|
||||
|
||||
-- A null-only merge is the canonical empty AVG1 state.
|
||||
SELECT avg_merge(state) = X'4156473100000000000000000000000000000000' AS null_state_is_empty
|
||||
FROM avg1_states
|
||||
WHERE state IS NULL;
|
||||
Reference in New Issue
Block a user