From f72795031ba2a103fb378120ffd31026684bbfea Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Tue, 28 Jul 2026 12:40:06 -0700 Subject: [PATCH] Added tests for vector_accum [skip ci] --- test/expected/vector_type.out | 16 ++++++++++++++++ test/sql/vector_type.sql | 4 ++++ 2 files changed, 20 insertions(+) diff --git a/test/expected/vector_type.out b/test/expected/vector_type.out index 18ff398..095678a 100644 --- a/test/expected/vector_type.out +++ b/test/expected/vector_type.out @@ -654,6 +654,22 @@ SELECT avg(v) FROM unnest(ARRAY['[3e38]'::vector, '[3e38]']) v; SELECT vector_avg(array_agg(n)) FROM generate_series(1, 16002) n; ERROR: vector cannot have more than 16000 dimensions +SELECT vector_accum('{0}', '[1,2,3]'); + vector_accum +-------------- + {1,1,2,3} +(1 row) + +SELECT vector_accum('{0,0,0,0}', '[1,2,3]'); + vector_accum +-------------- + {1,1,2,3} +(1 row) + +SELECT vector_accum('{}', '[1,2,3]'); +ERROR: vector_accum: expected state array +SELECT vector_accum('{0,0}', '[1,2,3]'); +ERROR: expected 1 dimensions, not 3 SELECT vector_combine('{0}', (SELECT array_agg(n) FROM generate_series(1, 16002) n)); ERROR: vector cannot have more than 16000 dimensions SELECT vector_combine((SELECT array_agg(n) FROM generate_series(1, 16002) n), '{0}'); diff --git a/test/sql/vector_type.sql b/test/sql/vector_type.sql index 4f80977..bda1415 100644 --- a/test/sql/vector_type.sql +++ b/test/sql/vector_type.sql @@ -147,6 +147,10 @@ SELECT avg(v) FROM unnest(ARRAY[]::vector[]) v; SELECT avg(v) FROM unnest(ARRAY['[1,2]'::vector, '[3]']) v; SELECT avg(v) FROM unnest(ARRAY['[3e38]'::vector, '[3e38]']) v; SELECT vector_avg(array_agg(n)) FROM generate_series(1, 16002) n; +SELECT vector_accum('{0}', '[1,2,3]'); +SELECT vector_accum('{0,0,0,0}', '[1,2,3]'); +SELECT vector_accum('{}', '[1,2,3]'); +SELECT vector_accum('{0,0}', '[1,2,3]'); SELECT vector_combine('{0}', (SELECT array_agg(n) FROM generate_series(1, 16002) n)); SELECT vector_combine((SELECT array_agg(n) FROM generate_series(1, 16002) n), '{0}'); SELECT vector_combine((SELECT array_agg(n) FROM generate_series(1, 16002) n), (SELECT array_agg(n) FROM generate_series(1, 16002) n));