11# name: test/sql/parity/031_aggregates_skiplist.test
2- # description: SkipList-state aggregates — TandAgg, TorAgg, TcountAgg , TminAgg,
3- # TmaxAgg, TsumAgg, TavgAgg, TcentroidAgg , MergeAgg,
4- # AppendInstantAgg, AppendSequenceAgg, SpanUnionAgg, SetUnionAgg ,
2+ # description: SkipList-state aggregates — Tand, Tor, Tcount , TminAgg,
3+ # TmaxAgg, Tsum, Tavg, Tcentroid , MergeAgg,
4+ # AppendInstantAgg, AppendSequenceAgg, SpanUnion, SetUnion ,
55# and the window aggregates W{min,max,sum,count,avg}Agg. Names
66# follow MobilityDB RFC #827 — every SkipList aggregate is
77# exposed under a Pascal-cased *Agg identifier. The MobilityDB
@@ -16,46 +16,46 @@ statement ok
1616SET TimeZone='UTC'
1717
1818# =============================================================================
19- # TandAgg / TorAgg on tbool
19+ # Tand / Tor on tbool
2020# =============================================================================
2121
2222query I
23- SELECT TandAgg (v::tbool)::VARCHAR FROM (VALUES ('true@2000-01-01'),('true@2000-01-02')) t(v);
23+ SELECT Tand (v::tbool)::VARCHAR FROM (VALUES ('true@2000-01-01'),('true@2000-01-02')) t(v);
2424----
2525{t@2000-01-01 00:00:00+01, t@2000-01-02 00:00:00+01}
2626
2727query I
28- SELECT TorAgg (v::tbool)::VARCHAR FROM (VALUES ('true@2000-01-01'),('false@2000-01-02')) t(v);
28+ SELECT Tor (v::tbool)::VARCHAR FROM (VALUES ('true@2000-01-01'),('false@2000-01-02')) t(v);
2929----
3030{t@2000-01-01 00:00:00+01, f@2000-01-02 00:00:00+01}
3131
3232# Single-row aggregate degenerates to identity over the input.
3333query I
34- SELECT TandAgg (v::tbool)::VARCHAR FROM (VALUES ('true@2000-01-01')) t(v);
34+ SELECT Tand (v::tbool)::VARCHAR FROM (VALUES ('true@2000-01-01')) t(v);
3535----
3636{t@2000-01-01 00:00:00+01}
3737
3838# =============================================================================
39- # TcountAgg over each temporal type → tint
39+ # Tcount over each temporal type → tint
4040# =============================================================================
4141
4242query I
43- SELECT TcountAgg (v::tint)::VARCHAR FROM (VALUES ('1@2000-01-01'),('5@2000-01-02')) t(v);
43+ SELECT Tcount (v::tint)::VARCHAR FROM (VALUES ('1@2000-01-01'),('5@2000-01-02')) t(v);
4444----
4545{1@2000-01-01 00:00:00+01, 1@2000-01-02 00:00:00+01}
4646
4747query I
48- SELECT TcountAgg (v::tfloat)::VARCHAR FROM (VALUES ('1.5@2000-01-01'),('5.5@2000-01-02')) t(v);
48+ SELECT Tcount (v::tfloat)::VARCHAR FROM (VALUES ('1.5@2000-01-01'),('5.5@2000-01-02')) t(v);
4949----
5050{1@2000-01-01 00:00:00+01, 1@2000-01-02 00:00:00+01}
5151
5252query I
53- SELECT TcountAgg (v::tbool)::VARCHAR FROM (VALUES ('true@2000-01-01'),('false@2000-01-02')) t(v);
53+ SELECT Tcount (v::tbool)::VARCHAR FROM (VALUES ('true@2000-01-01'),('false@2000-01-02')) t(v);
5454----
5555{1@2000-01-01 00:00:00+01, 1@2000-01-02 00:00:00+01}
5656
5757query I
58- SELECT TcountAgg (v::ttext)::VARCHAR FROM (VALUES ('"hi"@2000-01-01'),('"bye"@2000-01-02')) t(v);
58+ SELECT Tcount (v::ttext)::VARCHAR FROM (VALUES ('"hi"@2000-01-01'),('"bye"@2000-01-02')) t(v);
5959----
6060{1@2000-01-01 00:00:00+01, 1@2000-01-02 00:00:00+01}
6161
@@ -84,70 +84,70 @@ SELECT TmaxAgg(v::ttext)::VARCHAR FROM (VALUES ('"a"@2000-01-01'),('"z"@2000-01-
8484{"a"@2000-01-01 00:00:00+01, "z"@2000-01-02 00:00:00+01}
8585
8686# =============================================================================
87- # TsumAgg on tint, tfloat
87+ # Tsum on tint, tfloat
8888# =============================================================================
8989
9090query I
91- SELECT TsumAgg (v::tint)::VARCHAR FROM (VALUES ('1@2000-01-01'),('5@2000-01-02')) t(v);
91+ SELECT Tsum (v::tint)::VARCHAR FROM (VALUES ('1@2000-01-01'),('5@2000-01-02')) t(v);
9292----
9393{1@2000-01-01 00:00:00+01, 5@2000-01-02 00:00:00+01}
9494
9595query I
96- SELECT TsumAgg (v::tfloat)::VARCHAR FROM (VALUES ('1.5@2000-01-01'),('2.5@2000-01-02')) t(v);
96+ SELECT Tsum (v::tfloat)::VARCHAR FROM (VALUES ('1.5@2000-01-01'),('2.5@2000-01-02')) t(v);
9797----
9898{1.5@2000-01-01 00:00:00+01, 2.5@2000-01-02 00:00:00+01}
9999
100100# =============================================================================
101- # TavgAgg on tint, tfloat → tfloat
101+ # Tavg on tint, tfloat → tfloat
102102# =============================================================================
103103
104104query I
105- SELECT TavgAgg (v::tint)::VARCHAR FROM (VALUES ('2@2000-01-01'),('4@2000-01-02')) t(v);
105+ SELECT Tavg (v::tint)::VARCHAR FROM (VALUES ('2@2000-01-01'),('4@2000-01-02')) t(v);
106106----
107107{2@2000-01-01 00:00:00+01, 4@2000-01-02 00:00:00+01}
108108
109109query I
110- SELECT TavgAgg (v::tfloat)::VARCHAR FROM (VALUES ('2.0@2000-01-01'),('4.0@2000-01-02')) t(v);
110+ SELECT Tavg (v::tfloat)::VARCHAR FROM (VALUES ('2.0@2000-01-01'),('4.0@2000-01-02')) t(v);
111111----
112112{2@2000-01-01 00:00:00+01, 4@2000-01-02 00:00:00+01}
113113
114114# =============================================================================
115- # TcentroidAgg on tgeompoint
115+ # Tcentroid on tgeompoint
116116#
117117# Output is the EWKB-hex display format MobilityDuck uses for geometry, not
118118# WKT — both points encode the input coordinates verbatim.
119119# =============================================================================
120120
121121query I
122- SELECT TcentroidAgg (v::tgeompoint)::VARCHAR FROM (VALUES
122+ SELECT Tcentroid (v::tgeompoint)::VARCHAR FROM (VALUES
123123 ('Point(0 0)@2000-01-01'),('Point(2 4)@2000-01-02')) t(v);
124124----
125125{010100000000000000000000000000000000000000@2000-01-01 00:00:00+01, 010100000000000000000000400000000000001040@2000-01-02 00:00:00+01}
126126
127127# =============================================================================
128- # TcountAgg over time-only inputs (timestamptz / tstzset / tstzspan / tstzspanset)
128+ # Tcount over time-only inputs (timestamptz / tstzset / tstzspan / tstzspanset)
129129# =============================================================================
130130
131131query I
132- SELECT TcountAgg (t::timestamptz)::VARCHAR FROM (VALUES
132+ SELECT Tcount (t::timestamptz)::VARCHAR FROM (VALUES
133133 ('2000-01-01 00:00:00+00'::timestamptz), ('2000-01-02 00:00:00+00')) t(t);
134134----
135135{1@2000-01-01 01:00:00+01, 1@2000-01-02 01:00:00+01}
136136
137137query I
138- SELECT TcountAgg (s::tstzset)::VARCHAR FROM (VALUES
138+ SELECT Tcount (s::tstzset)::VARCHAR FROM (VALUES
139139 ('{2000-01-01, 2000-01-02}'::tstzset), ('{2000-01-02, 2000-01-03}')) t(s);
140140----
141141{1@2000-01-01 00:00:00+01, 2@2000-01-02 00:00:00+01, 1@2000-01-03 00:00:00+01}
142142
143143query I
144- SELECT TcountAgg (s::tstzspan)::VARCHAR FROM (VALUES
144+ SELECT Tcount (s::tstzspan)::VARCHAR FROM (VALUES
145145 ('[2000-01-01, 2000-01-03)'::tstzspan), ('[2000-01-02, 2000-01-04)')) t(s);
146146----
147147{[1@2000-01-01 00:00:00+01, 2@2000-01-02 00:00:00+01, 1@2000-01-03 00:00:00+01, 1@2000-01-04 00:00:00+01)}
148148
149149query I
150- SELECT TcountAgg (s::tstzspanset)::VARCHAR FROM (VALUES
150+ SELECT Tcount (s::tstzspanset)::VARCHAR FROM (VALUES
151151 ('{[2000-01-01, 2000-01-03)}'::tstzspanset), ('{[2000-01-02, 2000-01-04)}')) t(s);
152152----
153153{[1@2000-01-01 00:00:00+01, 2@2000-01-02 00:00:00+01, 1@2000-01-03 00:00:00+01, 1@2000-01-04 00:00:00+01)}
@@ -174,56 +174,56 @@ SELECT AppendSequenceAgg(v::tint)::VARCHAR FROM (VALUES
174174{[1@2000-01-01 00:00:00+01, 2@2000-01-02 00:00:00+01], [5@2000-01-04 00:00:00+01, 6@2000-01-05 00:00:00+01]}
175175
176176# =============================================================================
177- # SpanUnionAgg / SetUnionAgg
177+ # SpanUnion / SetUnion
178178# =============================================================================
179179
180180query I
181- SELECT SpanUnionAgg (s::intspan)::VARCHAR FROM (VALUES ('[1, 5)'), ('[3, 8)')) t(s);
181+ SELECT SpanUnion (s::intspan)::VARCHAR FROM (VALUES ('[1, 5)'), ('[3, 8)')) t(s);
182182----
183183{[1, 8)}
184184
185185query I
186- SELECT SpanUnionAgg (s::intspanset)::VARCHAR FROM (VALUES
186+ SELECT SpanUnion (s::intspanset)::VARCHAR FROM (VALUES
187187 ('{[1, 3), [5, 7)}'), ('{[10, 15)}')) t(s);
188188----
189189{[1, 3), [5, 7), [10, 15)}
190190
191191query I
192- SELECT SetUnionAgg (v::int)::VARCHAR FROM (VALUES (1), (3), (5), (3)) t(v);
192+ SELECT SetUnion (v::int)::VARCHAR FROM (VALUES (1), (3), (5), (3)) t(v);
193193----
194194{1, 3, 5}
195195
196196query I
197- SELECT SetUnionAgg (v::intset)::VARCHAR FROM (VALUES ('{1, 3}'::intset), ('{2, 4}')) t(v);
197+ SELECT SetUnion (v::intset)::VARCHAR FROM (VALUES ('{1, 3}'::intset), ('{2, 4}')) t(v);
198198----
199199{1, 2, 3, 4}
200200
201201query I
202- SELECT SetUnionAgg (d::date)::VARCHAR FROM (VALUES ('2001-01-01'::date), ('2001-01-03')) t(d);
202+ SELECT SetUnion (d::date)::VARCHAR FROM (VALUES ('2001-01-01'::date), ('2001-01-03')) t(d);
203203----
204204{2001-01-01, 2001-01-03}
205205
206206# =============================================================================
207- # Window aggregates: WminAgg / WmaxAgg / WsumAgg / WcountAgg / WavgAgg
207+ # Window aggregates: Wmin / Wmax / Wsum / Wcount / Wavg
208208# =============================================================================
209209
210210query I
211- SELECT WminAgg (v::tint, INTERVAL '2 days')::VARCHAR FROM (VALUES ('1@2000-01-01'),('5@2000-01-02'),('3@2000-01-04')) t(v);
211+ SELECT Wmin (v::tint, INTERVAL '2 days')::VARCHAR FROM (VALUES ('1@2000-01-01'),('5@2000-01-02'),('3@2000-01-04')) t(v);
212212----
213213{[1@2000-01-01 00:00:00+01, 1@2000-01-03 00:00:00+01], (5@2000-01-03 00:00:00+01, 3@2000-01-04 00:00:00+01, 3@2000-01-06 00:00:00+01]}
214214
215215query I
216- SELECT WmaxAgg (v::tfloat, INTERVAL '2 days')::VARCHAR FROM (VALUES ('1.5@2000-01-01'),('5.5@2000-01-02')) t(v);
216+ SELECT Wmax (v::tfloat, INTERVAL '2 days')::VARCHAR FROM (VALUES ('1.5@2000-01-01'),('5.5@2000-01-02')) t(v);
217217----
218218{[1.5@2000-01-01 00:00:00+01, 1.5@2000-01-02 00:00:00+01), [5.5@2000-01-02 00:00:00+01, 5.5@2000-01-04 00:00:00+01]}
219219
220220query I
221- SELECT WsumAgg (v::tint, INTERVAL '2 days')::VARCHAR FROM (VALUES ('1@2000-01-01'),('5@2000-01-02')) t(v);
221+ SELECT Wsum (v::tint, INTERVAL '2 days')::VARCHAR FROM (VALUES ('1@2000-01-01'),('5@2000-01-02')) t(v);
222222----
223223{[1@2000-01-01 00:00:00+01, 6@2000-01-02 00:00:00+01, 6@2000-01-03 00:00:00+01], (5@2000-01-03 00:00:00+01, 5@2000-01-04 00:00:00+01]}
224224
225225query I
226- SELECT WavgAgg (v::tint, INTERVAL '2 days')::VARCHAR FROM (VALUES ('2@2000-01-01'),('4@2000-01-02')) t(v);
226+ SELECT Wavg (v::tint, INTERVAL '2 days')::VARCHAR FROM (VALUES ('2@2000-01-01'),('4@2000-01-02')) t(v);
227227----
228228Interp=Step;{[2@2000-01-01 00:00:00+01, 3@2000-01-02 00:00:00+01, 3@2000-01-03 00:00:00+01], (4@2000-01-03 00:00:00+01, 4@2000-01-04 00:00:00+01]}
229229
@@ -232,11 +232,11 @@ Interp=Step;{[2@2000-01-01 00:00:00+01, 3@2000-01-02 00:00:00+01, 3@2000-01-03 0
232232# =============================================================================
233233
234234query I
235- SELECT TandAgg (v::tbool)::VARCHAR FROM (VALUES (NULL::VARCHAR)) t(v) WHERE v IS NOT NULL;
235+ SELECT Tand (v::tbool)::VARCHAR FROM (VALUES (NULL::VARCHAR)) t(v) WHERE v IS NOT NULL;
236236----
237237NULL
238238
239239query I
240- SELECT TcountAgg (v::tint)::VARCHAR FROM (VALUES ('1@2000-01-01'),(NULL),('5@2000-01-02')) t(v);
240+ SELECT Tcount (v::tint)::VARCHAR FROM (VALUES ('1@2000-01-01'),(NULL),('5@2000-01-02')) t(v);
241241----
242242{1@2000-01-01 00:00:00+01, 1@2000-01-02 00:00:00+01}
0 commit comments