diff --git a/binding/src/test/java/org/mobilitydb/flink/sql/AggregatesCatalogTest.java b/binding/src/test/java/org/mobilitydb/flink/sql/AggregatesCatalogTest.java new file mode 100644 index 0000000..7a2cdba --- /dev/null +++ b/binding/src/test/java/org/mobilitydb/flink/sql/AggregatesCatalogTest.java @@ -0,0 +1,912 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.flink.sql; + +import functions.GeneratedFunctions; +import java.net.URISyntaxException; +import java.nio.file.Paths; +import java.time.ZoneId; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Stream; +import org.apache.flink.table.api.EnvironmentSettings; +import org.apache.flink.table.api.TableEnvironment; +import org.apache.flink.types.Row; +import org.apache.flink.util.CloseableIterator; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.DynamicTest; +import org.junit.jupiter.api.TestFactory; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +/** + * Every aggregate overload the Flink SQL surface registers, over two rows of sample values, + * against the answer MobilityDB gives over the same rows in the time zone UTC; and the names it + * registers, the catalog's but for the raster aggregates, which #_catalog_aggregates of JMEOS's + * codegen_jvm.py leaves out. A value whose text carries a coordinate or a float is written with + * six decimals, as MobilityDuck's test/sql/aggregates_catalog.test writes it over the same rows. + */ +class AggregatesCatalogTest { + + private static TableEnvironment tEnv; + + @BeforeAll + static void init() throws URISyntaxException { + // The point cloud values name pcid 1, three dimensions of type double, which the document + // beside this test states, the schema MobilityDuck's test/sql/tpcpatch.test registers + GeneratedFunctions.meos_set_pointcloud_schemas_xml(Paths.get(AggregatesCatalogTest.class + .getResource("/pointcloud_schemas.xml").toURI()).toString()); + // A batch job of two phases, so the combine joins the partial states of the rows, the + // job of the batch half of GeneratedSqlSurfaceTest + tEnv = TableEnvironment.create(EnvironmentSettings.inBatchMode()); + tEnv.getConfig().set("table.optimizer.agg-phase-strategy", "TWO_PHASE"); + tEnv.getConfig().setLocalTimeZone(ZoneId.of("UTC")); + MobilityFlinkSql.registerAll(tEnv); + } + + /** The last row of the query, a grouped query's final answer. */ + private static String answer(String sql) throws Exception { + List out = new ArrayList<>(); + try (CloseableIterator it = tEnv.executeSql(sql).collect()) { + it.forEachRemaining(out::add); + } + return (String) out.get(out.size() - 1).getField(0); + } + + /** Each aggregate name of the catalog the surface registers, registered. */ + @TestFactory + Stream theNameIsRegistered() { + return Stream.of("appendInstantAgg", + "appendSequenceAgg", + "extent", + "mergeAgg", + "setUnionAgg", + "spanUnionAgg", + "spansetUnionAgg", + "tAndAgg", + "tAvg", + "tCentroid", + "tCount", + "tMaxAgg", + "tMinAgg", + "tOrAgg", + "tSum", + "tdensity", + "tnpoints", + "wAvgAgg", + "wCount", + "wMax", + "wMin", + "wSum") + .map(name -> DynamicTest.dynamicTest(name, () -> assertEquals(true, Arrays.stream(tEnv.listUserDefinedFunctions()).anyMatch(name::equalsIgnoreCase)))); + } + + /** Each aggregate name of the catalog whose every entry is over a raster, not registered. */ + @TestFactory + Stream theNameIsNotRegistered() { + return Stream.of("rasterUnion", "sameAlignmentAgg", "summaryStatsAgg") + .map(name -> DynamicTest.dynamicTest(name, () -> assertEquals(false, Arrays.stream(tEnv.listUserDefinedFunctions()).anyMatch(name::equalsIgnoreCase)))); + } + + /** Each overload: its signature, its query over two rows, and MobilityDB's answer. */ + private static final String[][] OVERLOADS = { + {"appendInstantAgg(tcbuffer)", + "SELECT asText(appendInstantAgg(v), 6) FROM (SELECT tcbufferFromText(s) AS v FROM (VALUES ('Cbuffer(Point(1 1),0.5)@2020-01-01'), ('Cbuffer(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "[Cbuffer(POINT(1 1),0.5)@2020-01-01 00:00:00+00, Cbuffer(POINT(2 2),0.5)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tcbuffer, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step'), 6) FROM (SELECT tcbufferFromText(s) AS v FROM (VALUES ('Cbuffer(Point(1 1),0.5)@2020-01-01'), ('Cbuffer(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "Interp=Step;[Cbuffer(POINT(1 1),0.5)@2020-01-01 00:00:00+00, Cbuffer(POINT(2 2),0.5)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tcbuffer, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY), 6) FROM (SELECT tcbufferFromText(s) AS v FROM (VALUES ('Cbuffer(Point(1 1),0.5)@2020-01-01'), ('Cbuffer(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "Interp=Step;[Cbuffer(POINT(1 1),0.5)@2020-01-01 00:00:00+00, Cbuffer(POINT(2 2),0.5)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeometry)", + "SELECT asText(appendInstantAgg(v), 6) FROM (SELECT tgeometryFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "[POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeometry, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step'), 6) FROM (SELECT tgeometryFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "[POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeometry, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY), 6) FROM (SELECT tgeometryFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "[POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeography)", + "SELECT asText(appendInstantAgg(v), 6) FROM (SELECT tgeographyFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "[POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeography, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step'), 6) FROM (SELECT tgeographyFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "[POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeography, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY), 6) FROM (SELECT tgeographyFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{[POINT(1 1)@2020-01-01 00:00:00+00], [POINT(2 2)@2020-01-02 00:00:00+00]}"}, + {"appendInstantAgg(tgeompoint)", + "SELECT asText(appendInstantAgg(v), 6) FROM (SELECT tgeompointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "[POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeompoint, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step'), 6) FROM (SELECT tgeompointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "Interp=Step;[POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeompoint, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY), 6) FROM (SELECT tgeompointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "Interp=Step;[POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeogpoint)", + "SELECT asText(appendInstantAgg(v), 6) FROM (SELECT tgeogpointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "[POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeogpoint, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step'), 6) FROM (SELECT tgeogpointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "Interp=Step;[POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tgeogpoint, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY), 6) FROM (SELECT tgeogpointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "Interp=Step;{[POINT(1 1)@2020-01-01 00:00:00+00], [POINT(2 2)@2020-01-02 00:00:00+00]}"}, + {"appendInstantAgg(th3index)", + "SELECT asText(appendInstantAgg(v)) FROM (SELECT th3indexFromText(s) AS v FROM (VALUES ('8a2a1072b59ffff@2020-01-01'), ('8a2a1072b597fff@2020-01-02')) AS t(s))", + "[8a2a1072b59ffff@2020-01-01 00:00:00+00, 8a2a1072b597fff@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(th3index, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step')) FROM (SELECT th3indexFromText(s) AS v FROM (VALUES ('8a2a1072b59ffff@2020-01-01'), ('8a2a1072b597fff@2020-01-02')) AS t(s))", + "[8a2a1072b59ffff@2020-01-01 00:00:00+00, 8a2a1072b597fff@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(th3index, VARCHAR, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', INTERVAL '2' DAY)) FROM (SELECT th3indexFromText(s) AS v FROM (VALUES ('8a2a1072b59ffff@2020-01-01'), ('8a2a1072b597fff@2020-01-02')) AS t(s))", + "[8a2a1072b59ffff@2020-01-01 00:00:00+00, 8a2a1072b597fff@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tjsonb)", + "SELECT asText(appendInstantAgg(v)) FROM (SELECT tjsonbFromText(s) AS v FROM (VALUES ('\"{\\\"a\\\": 1}\"@2020-01-01'), ('\"{\\\"a\\\": 2}\"@2020-01-02')) AS t(s))", + "[\"{\\\"a\\\": 1}\"@2020-01-01 00:00:00+00, \"{\\\"a\\\": 2}\"@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tjsonb, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step')) FROM (SELECT tjsonbFromText(s) AS v FROM (VALUES ('\"{\\\"a\\\": 1}\"@2020-01-01'), ('\"{\\\"a\\\": 2}\"@2020-01-02')) AS t(s))", + "[\"{\\\"a\\\": 1}\"@2020-01-01 00:00:00+00, \"{\\\"a\\\": 2}\"@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tjsonb, VARCHAR, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', INTERVAL '2' DAY)) FROM (SELECT tjsonbFromText(s) AS v FROM (VALUES ('\"{\\\"a\\\": 1}\"@2020-01-01'), ('\"{\\\"a\\\": 2}\"@2020-01-02')) AS t(s))", + "[\"{\\\"a\\\": 1}\"@2020-01-01 00:00:00+00, \"{\\\"a\\\": 2}\"@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tnpoint)", + "SELECT asText(appendInstantAgg(v), 6) FROM (SELECT tnpointFromText(s) AS v FROM (VALUES ('Npoint(1,0.5)@2020-01-01'), ('Npoint(1,0.7)@2020-01-02')) AS t(s))", + "[NPoint(1,0.5)@2020-01-01 00:00:00+00, NPoint(1,0.7)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tnpoint, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step'), 6) FROM (SELECT tnpointFromText(s) AS v FROM (VALUES ('Npoint(1,0.5)@2020-01-01'), ('Npoint(1,0.7)@2020-01-02')) AS t(s))", + "Interp=Step;[NPoint(1,0.5)@2020-01-01 00:00:00+00, NPoint(1,0.7)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tnpoint, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY), 6) FROM (SELECT tnpointFromText(s) AS v FROM (VALUES ('Npoint(1,0.5)@2020-01-01'), ('Npoint(1,0.7)@2020-01-02')) AS t(s))", + "Interp=Step;{[NPoint(1,0.5)@2020-01-01 00:00:00+00], [NPoint(1,0.7)@2020-01-02 00:00:00+00]}"}, + {"appendInstantAgg(tpcpoint)", + "SELECT asText(appendInstantAgg(v)) FROM (SELECT tpcpointFromText(s) AS v FROM (VALUES ('0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01'), ('0101000000000000000000004000000000000000400000000000000040@2020-01-02')) AS t(s))", + "[0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01 00:00:00+00, 0101000000000000000000004000000000000000400000000000000040@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tpcpoint, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step')) FROM (SELECT tpcpointFromText(s) AS v FROM (VALUES ('0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01'), ('0101000000000000000000004000000000000000400000000000000040@2020-01-02')) AS t(s))", + "[0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01 00:00:00+00, 0101000000000000000000004000000000000000400000000000000040@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tpcpoint, VARCHAR, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', INTERVAL '2' DAY)) FROM (SELECT tpcpointFromText(s) AS v FROM (VALUES ('0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01'), ('0101000000000000000000004000000000000000400000000000000040@2020-01-02')) AS t(s))", + "[0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01 00:00:00+00, 0101000000000000000000004000000000000000400000000000000040@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tpcpatch)", + "SELECT asText(appendInstantAgg(v)) FROM (SELECT tpcpatchFromText(s) AS v FROM (VALUES ('01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01'), ('01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02')) AS t(s))", + "[01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01 00:00:00+00, 01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tpcpatch, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step')) FROM (SELECT tpcpatchFromText(s) AS v FROM (VALUES ('01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01'), ('01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02')) AS t(s))", + "[01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01 00:00:00+00, 01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tpcpatch, VARCHAR, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', INTERVAL '2' DAY)) FROM (SELECT tpcpatchFromText(s) AS v FROM (VALUES ('01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01'), ('01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02')) AS t(s))", + "[01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01 00:00:00+00, 01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tpose)", + "SELECT asText(appendInstantAgg(v), 6) FROM (SELECT tposeFromText(s) AS v FROM (VALUES ('Pose(Point(1 1),0.5)@2020-01-01'), ('Pose(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "[Pose(POINT(1 1),0.5)@2020-01-01 00:00:00+00, Pose(POINT(2 2),0.5)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tpose, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step'), 6) FROM (SELECT tposeFromText(s) AS v FROM (VALUES ('Pose(Point(1 1),0.5)@2020-01-01'), ('Pose(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "Interp=Step;[Pose(POINT(1 1),0.5)@2020-01-01 00:00:00+00, Pose(POINT(2 2),0.5)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tpose, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY), 6) FROM (SELECT tposeFromText(s) AS v FROM (VALUES ('Pose(Point(1 1),0.5)@2020-01-01'), ('Pose(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "Interp=Step;[Pose(POINT(1 1),0.5)@2020-01-01 00:00:00+00, Pose(POINT(2 2),0.5)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tposechain)", + "SELECT asText(appendInstantAgg(v), 6) FROM (SELECT tposechainFromText(s) AS v FROM (VALUES ('PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))@2020-01-01'), ('PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))@2020-01-02')) AS t(s))", + "[PoseChain(Pose(POINT(0 0),0),Pose(POINT(10 0),0))@2020-01-01 00:00:00+00, PoseChain(Pose(POINT(1 2),0.1),Pose(POINT(11 2),0.1))@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tposechain, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step'), 6) FROM (SELECT tposechainFromText(s) AS v FROM (VALUES ('PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))@2020-01-01'), ('PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))@2020-01-02')) AS t(s))", + "Interp=Step;[PoseChain(Pose(POINT(0 0),0),Pose(POINT(10 0),0))@2020-01-01 00:00:00+00, PoseChain(Pose(POINT(1 2),0.1),Pose(POINT(11 2),0.1))@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tposechain, VARCHAR, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', INTERVAL '2' DAY), 6) FROM (SELECT tposechainFromText(s) AS v FROM (VALUES ('PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))@2020-01-01'), ('PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))@2020-01-02')) AS t(s))", + "Interp=Step;[PoseChain(Pose(POINT(0 0),0),Pose(POINT(10 0),0))@2020-01-01 00:00:00+00, PoseChain(Pose(POINT(1 2),0.1),Pose(POINT(11 2),0.1))@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tquadbin)", + "SELECT asText(appendInstantAgg(v)) FROM (SELECT tquadbinFromText(s) AS v FROM (VALUES ('4813ffffffffffff@2020-01-01'), ('4817ffffffffffff@2020-01-02')) AS t(s))", + "[4813ffffffffffff@2020-01-01 00:00:00+00, 4817ffffffffffff@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tquadbin, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step')) FROM (SELECT tquadbinFromText(s) AS v FROM (VALUES ('4813ffffffffffff@2020-01-01'), ('4817ffffffffffff@2020-01-02')) AS t(s))", + "[4813ffffffffffff@2020-01-01 00:00:00+00, 4817ffffffffffff@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tquadbin, VARCHAR, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', INTERVAL '2' DAY)) FROM (SELECT tquadbinFromText(s) AS v FROM (VALUES ('4813ffffffffffff@2020-01-01'), ('4817ffffffffffff@2020-01-02')) AS t(s))", + "[4813ffffffffffff@2020-01-01 00:00:00+00, 4817ffffffffffff@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(trgeometry)", + "SELECT asText(appendInstantAgg(v), 6) FROM (SELECT trgeometryFromText(s) AS v FROM (VALUES ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(5 5),0)@2020-01-01'), ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(6 6),0)@2020-01-02')) AS t(s))", + "POLYGON((0 0,1 0,1 1,0 1,0 0));[Pose(POINT(5 5),0)@2020-01-01 00:00:00+00, Pose(POINT(6 6),0)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(trgeometry, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step'), 6) FROM (SELECT trgeometryFromText(s) AS v FROM (VALUES ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(5 5),0)@2020-01-01'), ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(6 6),0)@2020-01-02')) AS t(s))", + "POLYGON((0 0,1 0,1 1,0 1,0 0));Interp=Step;[Pose(POINT(5 5),0)@2020-01-01 00:00:00+00, Pose(POINT(6 6),0)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(trgeometry, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY), 6) FROM (SELECT trgeometryFromText(s) AS v FROM (VALUES ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(5 5),0)@2020-01-01'), ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(6 6),0)@2020-01-02')) AS t(s))", + "POLYGON((0 0,1 0,1 1,0 1,0 0));Interp=Step;[Pose(POINT(5 5),0)@2020-01-01 00:00:00+00, Pose(POINT(6 6),0)@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(ts2cell)", + "SELECT asText(appendInstantAgg(v)) FROM (SELECT ts2cellFromText(s) AS v FROM (VALUES ('47c3c444c000000c@2020-01-01'), ('47c3c444c0000004@2020-01-02')) AS t(s))", + "[47c3c444c000000c@2020-01-01 00:00:00+00, 47c3c444c0000004@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(ts2cell, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step')) FROM (SELECT ts2cellFromText(s) AS v FROM (VALUES ('47c3c444c000000c@2020-01-01'), ('47c3c444c0000004@2020-01-02')) AS t(s))", + "[47c3c444c000000c@2020-01-01 00:00:00+00, 47c3c444c0000004@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(ts2cell, VARCHAR, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', INTERVAL '2' DAY)) FROM (SELECT ts2cellFromText(s) AS v FROM (VALUES ('47c3c444c000000c@2020-01-01'), ('47c3c444c0000004@2020-01-02')) AS t(s))", + "[47c3c444c000000c@2020-01-01 00:00:00+00, 47c3c444c0000004@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tbool)", + "SELECT asText(appendInstantAgg(v)) FROM (SELECT tboolFromText(s) AS v FROM (VALUES ('t@2020-01-01'), ('f@2020-01-02')) AS t(s))", + "[t@2020-01-01 00:00:00+00, f@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tbool, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step')) FROM (SELECT tboolFromText(s) AS v FROM (VALUES ('t@2020-01-01'), ('f@2020-01-02')) AS t(s))", + "[t@2020-01-01 00:00:00+00, f@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tbool, VARCHAR, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', INTERVAL '2' DAY)) FROM (SELECT tboolFromText(s) AS v FROM (VALUES ('t@2020-01-01'), ('f@2020-01-02')) AS t(s))", + "[t@2020-01-01 00:00:00+00, f@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tint)", + "SELECT asText(appendInstantAgg(v)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tint, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step')) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tint, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tbigint)", + "SELECT asText(appendInstantAgg(v)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tbigint, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step')) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tbigint, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tfloat)", + "SELECT asText(appendInstantAgg(v), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "[1.5@2020-01-01 00:00:00+00, 2.5@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tfloat, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step'), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "Interp=Step;[1.5@2020-01-01 00:00:00+00, 2.5@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(tfloat, VARCHAR, DOUBLE, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', CAST(10.0 AS DOUBLE), INTERVAL '2' DAY), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "Interp=Step;[1.5@2020-01-01 00:00:00+00, 2.5@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(ttext)", + "SELECT asText(appendInstantAgg(v)) FROM (SELECT ttextFromText(s) AS v FROM (VALUES ('\"a\"@2020-01-01'), ('\"b\"@2020-01-02')) AS t(s))", + "[\"a\"@2020-01-01 00:00:00+00, \"b\"@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(ttext, VARCHAR)", + "SELECT asText(appendInstantAgg(v, 'step')) FROM (SELECT ttextFromText(s) AS v FROM (VALUES ('\"a\"@2020-01-01'), ('\"b\"@2020-01-02')) AS t(s))", + "[\"a\"@2020-01-01 00:00:00+00, \"b\"@2020-01-02 00:00:00+00]"}, + {"appendInstantAgg(ttext, VARCHAR, INTERVAL)", + "SELECT asText(appendInstantAgg(v, 'step', INTERVAL '2' DAY)) FROM (SELECT ttextFromText(s) AS v FROM (VALUES ('\"a\"@2020-01-01'), ('\"b\"@2020-01-02')) AS t(s))", + "[\"a\"@2020-01-01 00:00:00+00, \"b\"@2020-01-02 00:00:00+00]"}, + {"appendSequenceAgg(tcbuffer)", + "SELECT asText(appendSequenceAgg(v), 6) FROM (SELECT tcbufferFromText(s) AS v FROM (VALUES ('[Cbuffer(Point(1 1),0.5)@2020-01-01, Cbuffer(Point(1 1),0.5)@2020-01-02]'), ('[Cbuffer(Point(2 2),0.5)@2020-01-03, Cbuffer(Point(2 2),0.5)@2020-01-04]')) AS t(s))", + "{[Cbuffer(POINT(1 1),0.5)@2020-01-01 00:00:00+00, Cbuffer(POINT(1 1),0.5)@2020-01-02 00:00:00+00], [Cbuffer(POINT(2 2),0.5)@2020-01-03 00:00:00+00, Cbuffer(POINT(2 2),0.5)@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tgeometry)", + "SELECT asText(appendSequenceAgg(v), 6) FROM (SELECT tgeometryFromText(s) AS v FROM (VALUES ('[Point(1 1)@2020-01-01, Point(1 1)@2020-01-02]'), ('[Point(2 2)@2020-01-03, Point(2 2)@2020-01-04]')) AS t(s))", + "{[POINT(1 1)@2020-01-01 00:00:00+00, POINT(1 1)@2020-01-02 00:00:00+00], [POINT(2 2)@2020-01-03 00:00:00+00, POINT(2 2)@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tgeography)", + "SELECT asText(appendSequenceAgg(v), 6) FROM (SELECT tgeographyFromText(s) AS v FROM (VALUES ('[Point(1 1)@2020-01-01, Point(1 1)@2020-01-02]'), ('[Point(2 2)@2020-01-03, Point(2 2)@2020-01-04]')) AS t(s))", + "{[POINT(1 1)@2020-01-01 00:00:00+00, POINT(1 1)@2020-01-02 00:00:00+00], [POINT(2 2)@2020-01-03 00:00:00+00, POINT(2 2)@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tgeompoint)", + "SELECT asText(appendSequenceAgg(v), 6) FROM (SELECT tgeompointFromText(s) AS v FROM (VALUES ('[Point(1 1)@2020-01-01, Point(1 1)@2020-01-02]'), ('[Point(2 2)@2020-01-03, Point(2 2)@2020-01-04]')) AS t(s))", + "{[POINT(1 1)@2020-01-01 00:00:00+00, POINT(1 1)@2020-01-02 00:00:00+00], [POINT(2 2)@2020-01-03 00:00:00+00, POINT(2 2)@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tgeogpoint)", + "SELECT asText(appendSequenceAgg(v), 6) FROM (SELECT tgeogpointFromText(s) AS v FROM (VALUES ('[Point(1 1)@2020-01-01, Point(1 1)@2020-01-02]'), ('[Point(2 2)@2020-01-03, Point(2 2)@2020-01-04]')) AS t(s))", + "{[POINT(1 1)@2020-01-01 00:00:00+00, POINT(1 1)@2020-01-02 00:00:00+00], [POINT(2 2)@2020-01-03 00:00:00+00, POINT(2 2)@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(th3index)", + "SELECT asText(appendSequenceAgg(v)) FROM (SELECT th3indexFromText(s) AS v FROM (VALUES ('[8a2a1072b59ffff@2020-01-01, 8a2a1072b59ffff@2020-01-02]'), ('[8a2a1072b597fff@2020-01-03, 8a2a1072b597fff@2020-01-04]')) AS t(s))", + "{[8a2a1072b59ffff@2020-01-01 00:00:00+00, 8a2a1072b59ffff@2020-01-02 00:00:00+00], [8a2a1072b597fff@2020-01-03 00:00:00+00, 8a2a1072b597fff@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tjsonb)", + "SELECT asText(appendSequenceAgg(v)) FROM (SELECT tjsonbFromText(s) AS v FROM (VALUES ('[\"{\\\"a\\\": 1}\"@2020-01-01, \"{\\\"a\\\": 1}\"@2020-01-02]'), ('[\"{\\\"a\\\": 2}\"@2020-01-03, \"{\\\"a\\\": 2}\"@2020-01-04]')) AS t(s))", + "{[\"{\\\"a\\\": 1}\"@2020-01-01 00:00:00+00, \"{\\\"a\\\": 1}\"@2020-01-02 00:00:00+00], [\"{\\\"a\\\": 2}\"@2020-01-03 00:00:00+00, \"{\\\"a\\\": 2}\"@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tnpoint)", + "SELECT asText(appendSequenceAgg(v), 6) FROM (SELECT tnpointFromText(s) AS v FROM (VALUES ('[Npoint(1,0.5)@2020-01-01, Npoint(1,0.5)@2020-01-02]'), ('[Npoint(1,0.7)@2020-01-03, Npoint(1,0.7)@2020-01-04]')) AS t(s))", + "{[NPoint(1,0.5)@2020-01-01 00:00:00+00, NPoint(1,0.5)@2020-01-02 00:00:00+00], [NPoint(1,0.7)@2020-01-03 00:00:00+00, NPoint(1,0.7)@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tpcpoint)", + "SELECT asText(appendSequenceAgg(v)) FROM (SELECT tpcpointFromText(s) AS v FROM (VALUES ('[0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01, 0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-02]'), ('[0101000000000000000000004000000000000000400000000000000040@2020-01-03, 0101000000000000000000004000000000000000400000000000000040@2020-01-04]')) AS t(s))", + "{[0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01 00:00:00+00, 0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-02 00:00:00+00], [0101000000000000000000004000000000000000400000000000000040@2020-01-03 00:00:00+00, 0101000000000000000000004000000000000000400000000000000040@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tpcpatch)", + "SELECT asText(appendSequenceAgg(v)) FROM (SELECT tpcpatchFromText(s) AS v FROM (VALUES ('[01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01, 01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-02]'), ('[01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-03, 01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-04]')) AS t(s))", + "{[01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01 00:00:00+00, 01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-02 00:00:00+00], [01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-03 00:00:00+00, 01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tpose)", + "SELECT asText(appendSequenceAgg(v), 6) FROM (SELECT tposeFromText(s) AS v FROM (VALUES ('[Pose(Point(1 1),0.5)@2020-01-01, Pose(Point(1 1),0.5)@2020-01-02]'), ('[Pose(Point(2 2),0.5)@2020-01-03, Pose(Point(2 2),0.5)@2020-01-04]')) AS t(s))", + "{[Pose(POINT(1 1),0.5)@2020-01-01 00:00:00+00, Pose(POINT(1 1),0.5)@2020-01-02 00:00:00+00], [Pose(POINT(2 2),0.5)@2020-01-03 00:00:00+00, Pose(POINT(2 2),0.5)@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tposechain)", + "SELECT asText(appendSequenceAgg(v), 6) FROM (SELECT tposechainFromText(s) AS v FROM (VALUES ('[PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))@2020-01-01, PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))@2020-01-02]'), ('[PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))@2020-01-03, PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))@2020-01-04]')) AS t(s))", + "{[PoseChain(Pose(POINT(0 0),0),Pose(POINT(10 0),0))@2020-01-01 00:00:00+00, PoseChain(Pose(POINT(0 0),0),Pose(POINT(10 0),0))@2020-01-02 00:00:00+00], [PoseChain(Pose(POINT(1 2),0.1),Pose(POINT(11 2),0.1))@2020-01-03 00:00:00+00, PoseChain(Pose(POINT(1 2),0.1),Pose(POINT(11 2),0.1))@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tquadbin)", + "SELECT asText(appendSequenceAgg(v)) FROM (SELECT tquadbinFromText(s) AS v FROM (VALUES ('[4813ffffffffffff@2020-01-01, 4813ffffffffffff@2020-01-02]'), ('[4817ffffffffffff@2020-01-03, 4817ffffffffffff@2020-01-04]')) AS t(s))", + "{[4813ffffffffffff@2020-01-01 00:00:00+00, 4813ffffffffffff@2020-01-02 00:00:00+00], [4817ffffffffffff@2020-01-03 00:00:00+00, 4817ffffffffffff@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(trgeometry)", + "SELECT asText(appendSequenceAgg(v), 6) FROM (SELECT trgeometryFromText(s) AS v FROM (VALUES ('Polygon((0 0,1 0,1 1,0 1,0 0));[Pose(Point(5 5),0)@2020-01-01, Pose(Point(5 5),0)@2020-01-02]'), ('Polygon((0 0,1 0,1 1,0 1,0 0));[Pose(Point(6 6),0)@2020-01-03, Pose(Point(6 6),0)@2020-01-04]')) AS t(s))", + "POLYGON((0 0,1 0,1 1,0 1,0 0));{[Pose(POINT(5 5),0)@2020-01-01 00:00:00+00, Pose(POINT(5 5),0)@2020-01-02 00:00:00+00], [Pose(POINT(6 6),0)@2020-01-03 00:00:00+00, Pose(POINT(6 6),0)@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(ts2cell)", + "SELECT asText(appendSequenceAgg(v)) FROM (SELECT ts2cellFromText(s) AS v FROM (VALUES ('[47c3c444c000000c@2020-01-01, 47c3c444c000000c@2020-01-02]'), ('[47c3c444c0000004@2020-01-03, 47c3c444c0000004@2020-01-04]')) AS t(s))", + "{[47c3c444c000000c@2020-01-01 00:00:00+00, 47c3c444c000000c@2020-01-02 00:00:00+00], [47c3c444c0000004@2020-01-03 00:00:00+00, 47c3c444c0000004@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tbool)", + "SELECT asText(appendSequenceAgg(v)) FROM (SELECT tboolFromText(s) AS v FROM (VALUES ('[t@2020-01-01, t@2020-01-02]'), ('[f@2020-01-03, f@2020-01-04]')) AS t(s))", + "{[t@2020-01-01 00:00:00+00, t@2020-01-02 00:00:00+00], [f@2020-01-03 00:00:00+00, f@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tint)", + "SELECT asText(appendSequenceAgg(v)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('[1@2020-01-01, 1@2020-01-02]'), ('[2@2020-01-03, 2@2020-01-04]')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00], [2@2020-01-03 00:00:00+00, 2@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tbigint)", + "SELECT asText(appendSequenceAgg(v)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('[1@2020-01-01, 1@2020-01-02]'), ('[2@2020-01-03, 2@2020-01-04]')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00], [2@2020-01-03 00:00:00+00, 2@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(tfloat)", + "SELECT asText(appendSequenceAgg(v), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('[1.5@2020-01-01, 1.5@2020-01-02]'), ('[2.5@2020-01-03, 2.5@2020-01-04]')) AS t(s))", + "{[1.5@2020-01-01 00:00:00+00, 1.5@2020-01-02 00:00:00+00], [2.5@2020-01-03 00:00:00+00, 2.5@2020-01-04 00:00:00+00]}"}, + {"appendSequenceAgg(ttext)", + "SELECT asText(appendSequenceAgg(v)) FROM (SELECT ttextFromText(s) AS v FROM (VALUES ('[\"a\"@2020-01-01, \"a\"@2020-01-02]'), ('[\"b\"@2020-01-03, \"b\"@2020-01-04]')) AS t(s))", + "{[\"a\"@2020-01-01 00:00:00+00, \"a\"@2020-01-02 00:00:00+00], [\"b\"@2020-01-03 00:00:00+00, \"b\"@2020-01-04 00:00:00+00]}"}, + {"extent(tcbuffer)", + "SELECT asText(extent(v), 6) FROM (SELECT tcbufferFromText(s) AS v FROM (VALUES ('Cbuffer(Point(1 1),0.5)@2020-01-01'), ('Cbuffer(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "STBOX XT(((0.5,0.5),(2.5,2.5)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(stbox)", + "SELECT asText(extent(v), 6) FROM (SELECT stboxFromText(s) AS v FROM (VALUES ('STBOX XT(((1,1),(3,3)),[2020-01-01, 2020-01-03])'), ('STBOX XT(((2,2),(5,5)),[2020-01-02, 2020-01-05])')) AS t(s))", + "STBOX XT(((1,1),(5,5)),[2020-01-01 00:00:00+00, 2020-01-05 00:00:00+00])"}, + {"extent(tgeometry)", + "SELECT asText(extent(v), 6) FROM (SELECT tgeometryFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "STBOX XT(((1,1),(2,2)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(tgeography)", + "SELECT asText(extent(v), 6) FROM (SELECT tgeographyFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "SRID=4326;GEODSTBOX XT(((1,1),(2,2)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(tgeompoint)", + "SELECT asText(extent(v), 6) FROM (SELECT tgeompointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "STBOX XT(((1,1),(2,2)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(tgeogpoint)", + "SELECT asText(extent(v), 6) FROM (SELECT tgeogpointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "SRID=4326;GEODSTBOX XT(((1,1),(2,2)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(th3index)", + "SELECT asText(extent(v), 6) FROM (SELECT th3indexFromText(s) AS v FROM (VALUES ('8a2a1072b59ffff@2020-01-01'), ('8a2a1072b597fff@2020-01-02')) AS t(s))", + "SRID=4326;GEODSTBOX XT(((-74.045692,40.688785),(-74.043521,40.691181)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(tjsonb)", + "SELECT asText(extent(v)) FROM (SELECT tjsonbFromText(s) AS v FROM (VALUES ('\"{\\\"a\\\": 1}\"@2020-01-01'), ('\"{\\\"a\\\": 2}\"@2020-01-02')) AS t(s))", + "[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00]"}, + {"extent(tnpoint)", + "SELECT asText(extent(v), 6) FROM (SELECT tnpointFromText(s) AS v FROM (VALUES ('Npoint(1,0.5)@2020-01-01'), ('Npoint(1,0.7)@2020-01-02')) AS t(s))", + "SRID=5676;STBOX XT(((34.650693,75.384585),(48.718663,77.764071)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(tpcbox)", + "SELECT asText(extent(v), 6) FROM (SELECT tpcboxFromText(s) AS v FROM (VALUES ('TPCBOX(XT(((0,0),(10,10)),[2020-01-01, 2020-01-31]), 1)'), ('TPCBOX(XT(((5,5),(20,20)),[2020-01-15, 2020-02-15]), 1)')) AS t(s))", + "TPCBOX(XT(((0,0),(20,20)),[2020-01-01 00:00:00+00, 2020-02-15 00:00:00+00]), 1)"}, + {"extent(tpcpoint)", + "SELECT asText(extent(v), 6) FROM (SELECT tpcpointFromText(s) AS v FROM (VALUES ('0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01'), ('0101000000000000000000004000000000000000400000000000000040@2020-01-02')) AS t(s))", + "TPCBOX(ZT(((1,1,1),(2,2,2)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00]), 1)"}, + {"extent(tpcpatch)", + "SELECT asText(extent(v), 6) FROM (SELECT tpcpatchFromText(s) AS v FROM (VALUES ('01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01'), ('01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02')) AS t(s))", + "TPCBOX(ZT(((1,1,1),(3,3,3)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00]), 1)"}, + {"extent(tpose)", + "SELECT asText(extent(v), 6) FROM (SELECT tposeFromText(s) AS v FROM (VALUES ('Pose(Point(1 1),0.5)@2020-01-01'), ('Pose(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "STBOX XT(((1,1),(2,2)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(tposechain)", + "SELECT asText(extent(v), 6) FROM (SELECT tposechainFromText(s) AS v FROM (VALUES ('PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))@2020-01-01'), ('PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))@2020-01-02')) AS t(s))", + "STBOX XT(((0,0),(11.745379,5.088176)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(tquadbin)", + "SELECT asText(extent(v), 6) FROM (SELECT tquadbinFromText(s) AS v FROM (VALUES ('4813ffffffffffff@2020-01-01'), ('4817ffffffffffff@2020-01-02')) AS t(s))", + "SRID=4326;STBOX XT(((-180,0),(180,85.051129)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(trgeometry)", + "SELECT asText(extent(v), 6) FROM (SELECT trgeometryFromText(s) AS v FROM (VALUES ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(5 5),0)@2020-01-01'), ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(6 6),0)@2020-01-02')) AS t(s))", + "STBOX XT(((5,5),(7,7)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(ts2cell)", + "SELECT asText(extent(v), 6) FROM (SELECT ts2cellFromText(s) AS v FROM (VALUES ('47c3c444c000000c@2020-01-01'), ('47c3c444c0000004@2020-01-02')) AS t(s))", + "SRID=4326;GEODSTBOX XT(((4.340366,50.82102),(4.340366,50.82102)),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(intspan)", + "SELECT asText(extent(v)) FROM (SELECT intspanFromText(s) AS v FROM (VALUES ('[1, 3]'), ('[2, 5]')) AS t(s))", + "[1, 6)"}, + {"extent(bigintspan)", + "SELECT asText(extent(v)) FROM (SELECT bigintspanFromText(s) AS v FROM (VALUES ('[1, 3]'), ('[2, 5]')) AS t(s))", + "[1, 6)"}, + {"extent(floatspan)", + "SELECT asText(extent(v), 6) FROM (SELECT floatspanFromText(s) AS v FROM (VALUES ('[1.5, 3.5]'), ('[2.5, 5.5]')) AS t(s))", + "[1.5, 5.5]"}, + {"extent(datespan)", + "SELECT asText(extent(v)) FROM (SELECT datespanFromText(s) AS v FROM (VALUES ('[2020-01-01, 2020-01-03]'), ('[2020-01-02, 2020-01-05]')) AS t(s))", + "[2020-01-01, 2020-01-06)"}, + {"extent(tstzspan)", + "SELECT asText(extent(v)) FROM (SELECT tstzspanFromText(s) AS v FROM (VALUES ('[2020-01-01, 2020-01-03]'), ('[2020-01-02, 2020-01-05]')) AS t(s))", + "[2020-01-01 00:00:00+00, 2020-01-05 00:00:00+00]"}, + {"extent(INTEGER)", + "SELECT asText(extent(v)) FROM (SELECT CAST(s AS INT) AS v FROM (VALUES ('1'), ('2')) AS t(s))", + "[1, 3)"}, + {"extent(BIGINT)", + "SELECT asText(extent(v)) FROM (SELECT CAST(s AS BIGINT) AS v FROM (VALUES ('1'), ('2')) AS t(s))", + "[1, 3)"}, + {"extent(DOUBLE)", + "SELECT asText(extent(v), 6) FROM (SELECT CAST(s AS DOUBLE) AS v FROM (VALUES ('1.5'), ('2.5')) AS t(s))", + "[1.5, 2.5]"}, + {"extent(DATE)", + "SELECT asText(extent(v)) FROM (SELECT CAST(s AS DATE) AS v FROM (VALUES ('2020-01-01'), ('2020-01-02')) AS t(s))", + "[2020-01-01, 2020-01-03)"}, + {"extent(TIMESTAMP WITH TIME ZONE)", + "SELECT asText(extent(v)) FROM (SELECT CAST(s AS TIMESTAMP_LTZ(6)) AS v FROM (VALUES ('2020-01-01 00:00:00'), ('2020-01-02 00:00:00')) AS t(s))", + "[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00]"}, + {"extent(intset)", + "SELECT asText(extent(v)) FROM (SELECT intsetFromText(s) AS v FROM (VALUES ('{1}'), ('{1, 2}')) AS t(s))", + "[1, 3)"}, + {"extent(bigintset)", + "SELECT asText(extent(v)) FROM (SELECT bigintsetFromText(s) AS v FROM (VALUES ('{1}'), ('{1, 2}')) AS t(s))", + "[1, 3)"}, + {"extent(floatset)", + "SELECT asText(extent(v), 6) FROM (SELECT floatsetFromText(s) AS v FROM (VALUES ('{1.5}'), ('{1.5, 2.5}')) AS t(s))", + "[1.5, 2.5]"}, + {"extent(dateset)", + "SELECT asText(extent(v)) FROM (SELECT datesetFromText(s) AS v FROM (VALUES ('{2020-01-01}'), ('{2020-01-01, 2020-01-02}')) AS t(s))", + "[2020-01-01, 2020-01-03)"}, + {"extent(tstzset)", + "SELECT asText(extent(v)) FROM (SELECT tstzsetFromText(s) AS v FROM (VALUES ('{2020-01-01 00:00:00+00}'), ('{2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00}')) AS t(s))", + "[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00]"}, + {"extent(intspanset)", + "SELECT asText(extent(v)) FROM (SELECT intspansetFromText(s) AS v FROM (VALUES ('{[1, 3]}'), ('{[2, 5]}')) AS t(s))", + "[1, 6)"}, + {"extent(bigintspanset)", + "SELECT asText(extent(v)) FROM (SELECT bigintspansetFromText(s) AS v FROM (VALUES ('{[1, 3]}'), ('{[2, 5]}')) AS t(s))", + "[1, 6)"}, + {"extent(floatspanset)", + "SELECT asText(extent(v), 6) FROM (SELECT floatspansetFromText(s) AS v FROM (VALUES ('{[1.5, 3.5]}'), ('{[2.5, 5.5]}')) AS t(s))", + "[1.5, 5.5]"}, + {"extent(datespanset)", + "SELECT asText(extent(v)) FROM (SELECT datespansetFromText(s) AS v FROM (VALUES ('{[2020-01-01, 2020-01-03]}'), ('{[2020-01-02, 2020-01-05]}')) AS t(s))", + "[2020-01-01, 2020-01-06)"}, + {"extent(tstzspanset)", + "SELECT asText(extent(v)) FROM (SELECT tstzspansetFromText(s) AS v FROM (VALUES ('{[2020-01-01, 2020-01-03]}'), ('{[2020-01-02, 2020-01-05]}')) AS t(s))", + "[2020-01-01 00:00:00+00, 2020-01-05 00:00:00+00]"}, + {"extent(tbox)", + "SELECT asText(extent(v), 6) FROM (SELECT tboxFromText(s) AS v FROM (VALUES ('TBOXFLOAT XT([1, 3],[2020-01-01, 2020-01-03])'), ('TBOXFLOAT XT([2, 5],[2020-01-02, 2020-01-05])')) AS t(s))", + "TBOXFLOAT XT([1, 5],[2020-01-01 00:00:00+00, 2020-01-05 00:00:00+00])"}, + {"extent(tbool)", + "SELECT asText(extent(v)) FROM (SELECT tboolFromText(s) AS v FROM (VALUES ('t@2020-01-01'), ('f@2020-01-02')) AS t(s))", + "[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00]"}, + {"extent(ttext)", + "SELECT asText(extent(v)) FROM (SELECT ttextFromText(s) AS v FROM (VALUES ('\"a\"@2020-01-01'), ('\"b\"@2020-01-02')) AS t(s))", + "[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00]"}, + {"extent(tint)", + "SELECT asText(extent(v), 6) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "TBOXINT XT([1, 3),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(tbigint)", + "SELECT asText(extent(v), 6) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "TBOXBIGINT XT([1, 3),[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"extent(tfloat)", + "SELECT asText(extent(v), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "TBOXFLOAT XT([1.5, 2.5],[2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00])"}, + {"mergeAgg(tcbuffer)", + "SELECT asText(mergeAgg(v), 6) FROM (SELECT tcbufferFromText(s) AS v FROM (VALUES ('Cbuffer(Point(1 1),0.5)@2020-01-01'), ('Cbuffer(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "{Cbuffer(POINT(1 1),0.5)@2020-01-01 00:00:00+00, Cbuffer(POINT(2 2),0.5)@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tgeometry)", + "SELECT asText(mergeAgg(v), 6) FROM (SELECT tgeometryFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tgeography)", + "SELECT asText(mergeAgg(v), 6) FROM (SELECT tgeographyFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tgeompoint)", + "SELECT asText(mergeAgg(v), 6) FROM (SELECT tgeompointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tgeogpoint)", + "SELECT asText(mergeAgg(v), 6) FROM (SELECT tgeogpointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00}"}, + {"mergeAgg(th3index)", + "SELECT asText(mergeAgg(v)) FROM (SELECT th3indexFromText(s) AS v FROM (VALUES ('8a2a1072b59ffff@2020-01-01'), ('8a2a1072b597fff@2020-01-02')) AS t(s))", + "{8a2a1072b59ffff@2020-01-01 00:00:00+00, 8a2a1072b597fff@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tjsonb)", + "SELECT asText(mergeAgg(v)) FROM (SELECT tjsonbFromText(s) AS v FROM (VALUES ('\"{\\\"a\\\": 1}\"@2020-01-01'), ('\"{\\\"a\\\": 2}\"@2020-01-02')) AS t(s))", + "{\"{\\\"a\\\": 1}\"@2020-01-01 00:00:00+00, \"{\\\"a\\\": 2}\"@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tnpoint)", + "SELECT asText(mergeAgg(v), 6) FROM (SELECT tnpointFromText(s) AS v FROM (VALUES ('Npoint(1,0.5)@2020-01-01'), ('Npoint(1,0.7)@2020-01-02')) AS t(s))", + "{NPoint(1,0.5)@2020-01-01 00:00:00+00, NPoint(1,0.7)@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tpcpoint)", + "SELECT asText(mergeAgg(v)) FROM (SELECT tpcpointFromText(s) AS v FROM (VALUES ('0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01'), ('0101000000000000000000004000000000000000400000000000000040@2020-01-02')) AS t(s))", + "{0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01 00:00:00+00, 0101000000000000000000004000000000000000400000000000000040@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tpcpatch)", + "SELECT asText(mergeAgg(v)) FROM (SELECT tpcpatchFromText(s) AS v FROM (VALUES ('01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01'), ('01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02')) AS t(s))", + "{01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01 00:00:00+00, 01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tpose)", + "SELECT asText(mergeAgg(v), 6) FROM (SELECT tposeFromText(s) AS v FROM (VALUES ('Pose(Point(1 1),0.5)@2020-01-01'), ('Pose(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "{Pose(POINT(1 1),0.5)@2020-01-01 00:00:00+00, Pose(POINT(2 2),0.5)@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tposechain)", + "SELECT asText(mergeAgg(v), 6) FROM (SELECT tposechainFromText(s) AS v FROM (VALUES ('PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))@2020-01-01'), ('PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))@2020-01-02')) AS t(s))", + "{PoseChain(Pose(POINT(0 0),0),Pose(POINT(10 0),0))@2020-01-01 00:00:00+00, PoseChain(Pose(POINT(1 2),0.1),Pose(POINT(11 2),0.1))@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tquadbin)", + "SELECT asText(mergeAgg(v)) FROM (SELECT tquadbinFromText(s) AS v FROM (VALUES ('4813ffffffffffff@2020-01-01'), ('4817ffffffffffff@2020-01-02')) AS t(s))", + "{4813ffffffffffff@2020-01-01 00:00:00+00, 4817ffffffffffff@2020-01-02 00:00:00+00}"}, + {"mergeAgg(trgeometry)", + "SELECT asText(mergeAgg(v), 6) FROM (SELECT trgeometryFromText(s) AS v FROM (VALUES ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(5 5),0)@2020-01-01'), ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(6 6),0)@2020-01-02')) AS t(s))", + "POLYGON((0 0,1 0,1 1,0 1,0 0));{Pose(POINT(5 5),0)@2020-01-01 00:00:00+00, Pose(POINT(6 6),0)@2020-01-02 00:00:00+00}"}, + {"mergeAgg(ts2cell)", + "SELECT asText(mergeAgg(v)) FROM (SELECT ts2cellFromText(s) AS v FROM (VALUES ('47c3c444c000000c@2020-01-01'), ('47c3c444c0000004@2020-01-02')) AS t(s))", + "{47c3c444c000000c@2020-01-01 00:00:00+00, 47c3c444c0000004@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tbool)", + "SELECT asText(mergeAgg(v)) FROM (SELECT tboolFromText(s) AS v FROM (VALUES ('t@2020-01-01'), ('f@2020-01-02')) AS t(s))", + "{t@2020-01-01 00:00:00+00, f@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tint)", + "SELECT asText(mergeAgg(v)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tbigint)", + "SELECT asText(mergeAgg(v)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00}"}, + {"mergeAgg(tfloat)", + "SELECT asText(mergeAgg(v), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{1.5@2020-01-01 00:00:00+00, 2.5@2020-01-02 00:00:00+00}"}, + {"mergeAgg(ttext)", + "SELECT asText(mergeAgg(v)) FROM (SELECT ttextFromText(s) AS v FROM (VALUES ('\"a\"@2020-01-01'), ('\"b\"@2020-01-02')) AS t(s))", + "{\"a\"@2020-01-01 00:00:00+00, \"b\"@2020-01-02 00:00:00+00}"}, + {"setUnionAgg(cbuffer)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT cbufferFromText(s) AS v FROM (VALUES ('Cbuffer(Point(1 1),0.5)'), ('Cbuffer(Point(2 2),0.5)')) AS t(s))", + "{\"Cbuffer(POINT(1 1),0.5)\", \"Cbuffer(POINT(2 2),0.5)\"}"}, + {"setUnionAgg(cbufferset)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT cbuffersetFromText(s) AS v FROM (VALUES ('{\"Cbuffer(Point(1 1),0.5)\"}'), ('{\"Cbuffer(Point(1 1),0.5)\", \"Cbuffer(Point(2 2),0.5)\"}')) AS t(s))", + "{\"Cbuffer(POINT(1 1),0.5)\", \"Cbuffer(POINT(2 2),0.5)\"}"}, + {"setUnionAgg(GEOMETRY)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT geometryFromHexEWKB(s) AS v FROM (VALUES ('0101000000000000000000F03F000000000000F03F'), ('010100000000000000000000400000000000000040')) AS t(s))", + "{\"POINT(1 1)\", \"POINT(2 2)\"}"}, + {"setUnionAgg(geography)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT geographyFromHexEWKB(s) AS v FROM (VALUES ('0101000020E6100000000000000000F03F000000000000F03F'), ('0101000020E610000000000000000000400000000000000040')) AS t(s))", + "{\"POINT(1 1)\", \"POINT(2 2)\"}"}, + {"setUnionAgg(geomset)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT geomsetFromText(s) AS v FROM (VALUES ('{\"Point(1 1)\"}'), ('{\"Point(1 1)\", \"Point(2 2)\"}')) AS t(s))", + "{\"POINT(1 1)\", \"POINT(2 2)\"}"}, + {"setUnionAgg(geogset)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT geogsetFromText(s) AS v FROM (VALUES ('{\"Point(1 1)\"}'), ('{\"Point(1 1)\", \"Point(2 2)\"}')) AS t(s))", + "{\"POINT(1 1)\", \"POINT(2 2)\"}"}, + {"setUnionAgg(h3index)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT h3indexFromText(s) AS v FROM (VALUES ('8a2a1072b59ffff'), ('8a2a1072b597fff')) AS t(s))", + "{\"8a2a1072b597fff\", \"8a2a1072b59ffff\"}"}, + {"setUnionAgg(h3indexset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT h3indexsetFromText(s) AS v FROM (VALUES ('{8a2a1072b59ffff}'), ('{8a2a1072b59ffff, 8a2a1072b597fff}')) AS t(s))", + "{\"8a2a1072b597fff\", \"8a2a1072b59ffff\"}"}, + {"setUnionAgg(jsonb)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT jsonbFromText(s) AS v FROM (VALUES ('{\"a\": 1}'), ('{\"a\": 2}')) AS t(s))", + "{\"{\\\"a\\\": 1}\", \"{\\\"a\\\": 2}\"}"}, + {"setUnionAgg(jsonbset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT jsonbsetFromText(s) AS v FROM (VALUES ('{\"{\\\"a\\\": 1}\"}'), ('{\"{\\\"a\\\": 1}\", \"{\\\"a\\\": 2}\"}')) AS t(s))", + "{\"{\\\"a\\\": 1}\", \"{\\\"a\\\": 2}\"}"}, + {"setUnionAgg(npoint)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT npointFromText(s) AS v FROM (VALUES ('Npoint(1,0.5)'), ('Npoint(1,0.7)')) AS t(s))", + "{\"NPoint(1,0.5)\", \"NPoint(1,0.7)\"}"}, + {"setUnionAgg(npointset)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT npointsetFromText(s) AS v FROM (VALUES ('{\"Npoint(1,0.5)\"}'), ('{\"Npoint(1,0.5)\", \"Npoint(1,0.7)\"}')) AS t(s))", + "{\"NPoint(1,0.5)\", \"NPoint(1,0.7)\"}"}, + {"setUnionAgg(pcpoint)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT pcpointFromHexWKB(s) AS v FROM (VALUES ('0101000000000000000000F03F000000000000F03F000000000000F03F'), ('0101000000000000000000004000000000000000400000000000000040')) AS t(s))", + "{\"0101000000000000000000004000000000000000400000000000000040\", \"0101000000000000000000F03F000000000000F03F000000000000F03F\"}"}, + {"setUnionAgg(pcpointset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT pcpointsetFromText(s) AS v FROM (VALUES ('{\"0101000000000000000000F03F000000000000F03F000000000000F03F\"}'), ('{\"0101000000000000000000F03F000000000000F03F000000000000F03F\", \"0101000000000000000000004000000000000000400000000000000040\"}')) AS t(s))", + "{\"0101000000000000000000004000000000000000400000000000000040\", \"0101000000000000000000F03F000000000000F03F000000000000F03F\"}"}, + {"setUnionAgg(pcpatch)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT pcpatchFromHexWKB(s) AS v FROM (VALUES ('01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040'), ('01010000000000000001000000000000000000084000000000000008400000000000000840')) AS t(s))", + "{\"01010000000000000001000000000000000000084000000000000008400000000000000840\", \"01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040\"}"}, + {"setUnionAgg(pcpatchset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT pcpatchsetFromText(s) AS v FROM (VALUES ('{\"01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040\"}'), ('{\"01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040\", \"01010000000000000001000000000000000000084000000000000008400000000000000840\"}')) AS t(s))", + "{\"01010000000000000001000000000000000000084000000000000008400000000000000840\", \"01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040\"}"}, + {"setUnionAgg(pose)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT poseFromText(s) AS v FROM (VALUES ('Pose(Point(1 1),0.5)'), ('Pose(Point(2 2),0.5)')) AS t(s))", + "{\"Pose(POINT(1 1),0.5)\", \"Pose(POINT(2 2),0.5)\"}"}, + {"setUnionAgg(poseset)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT posesetFromText(s) AS v FROM (VALUES ('{\"Pose(Point(1 1),0.5)\"}'), ('{\"Pose(Point(1 1),0.5)\", \"Pose(Point(2 2),0.5)\"}')) AS t(s))", + "{\"Pose(POINT(1 1),0.5)\", \"Pose(POINT(2 2),0.5)\"}"}, + {"setUnionAgg(posechain)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT posechainFromText(s) AS v FROM (VALUES ('PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))'), ('PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))')) AS t(s))", + "{\"PoseChain(Pose(POINT(0 0),0),Pose(POINT(10 0),0))\", \"PoseChain(Pose(POINT(1 2),0.1),Pose(POINT(11 2),0.1))\"}"}, + {"setUnionAgg(posechainset)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT posechainsetFromText(s) AS v FROM (VALUES ('{\"PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))\"}'), ('{\"PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))\", \"PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))\"}')) AS t(s))", + "{\"PoseChain(Pose(POINT(0 0),0),Pose(POINT(10 0),0))\", \"PoseChain(Pose(POINT(1 2),0.1),Pose(POINT(11 2),0.1))\"}"}, + {"setUnionAgg(quadbin)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT quadbinFromText(s) AS v FROM (VALUES ('4813ffffffffffff'), ('4817ffffffffffff')) AS t(s))", + "{\"4813ffffffffffff\", \"4817ffffffffffff\"}"}, + {"setUnionAgg(quadbinset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT quadbinsetFromText(s) AS v FROM (VALUES ('{4813ffffffffffff}'), ('{4813ffffffffffff, 4817ffffffffffff}')) AS t(s))", + "{\"4813ffffffffffff\", \"4817ffffffffffff\"}"}, + {"setUnionAgg(s2cell)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT s2cellFromText(s) AS v FROM (VALUES ('47c3c444c000000c'), ('47c3c444c0000004')) AS t(s))", + "{\"47c3c444c0000004\", \"47c3c444c000000c\"}"}, + {"setUnionAgg(s2cellset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT s2cellsetFromText(s) AS v FROM (VALUES ('{47c3c444c000000c}'), ('{47c3c444c000000c, 47c3c444c0000004}')) AS t(s))", + "{\"47c3c444c0000004\", \"47c3c444c000000c\"}"}, + {"setUnionAgg(INTEGER)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT CAST(s AS INT) AS v FROM (VALUES ('1'), ('2')) AS t(s))", + "{1, 2}"}, + {"setUnionAgg(BIGINT)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT CAST(s AS BIGINT) AS v FROM (VALUES ('1'), ('2')) AS t(s))", + "{1, 2}"}, + {"setUnionAgg(DOUBLE)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT CAST(s AS DOUBLE) AS v FROM (VALUES ('1.5'), ('2.5')) AS t(s))", + "{1.5, 2.5}"}, + {"setUnionAgg(VARCHAR)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT s AS v FROM (VALUES ('a'), ('b')) AS t(s))", + "{\"a\", \"b\"}"}, + {"setUnionAgg(DATE)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT CAST(s AS DATE) AS v FROM (VALUES ('2020-01-01'), ('2020-01-02')) AS t(s))", + "{2020-01-01, 2020-01-02}"}, + {"setUnionAgg(TIMESTAMP WITH TIME ZONE)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT CAST(s AS TIMESTAMP_LTZ(6)) AS v FROM (VALUES ('2020-01-01 00:00:00'), ('2020-01-02 00:00:00')) AS t(s))", + "{\"2020-01-01 00:00:00+00\", \"2020-01-02 00:00:00+00\"}"}, + {"setUnionAgg(intset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT intsetFromText(s) AS v FROM (VALUES ('{1}'), ('{1, 2}')) AS t(s))", + "{1, 2}"}, + {"setUnionAgg(bigintset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT bigintsetFromText(s) AS v FROM (VALUES ('{1}'), ('{1, 2}')) AS t(s))", + "{1, 2}"}, + {"setUnionAgg(floatset)", + "SELECT asText(setUnionAgg(v), 6) FROM (SELECT floatsetFromText(s) AS v FROM (VALUES ('{1.5}'), ('{1.5, 2.5}')) AS t(s))", + "{1.5, 2.5}"}, + {"setUnionAgg(textset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT textsetFromText(s) AS v FROM (VALUES ('{\"a\"}'), ('{\"a\", \"b\"}')) AS t(s))", + "{\"a\", \"b\"}"}, + {"setUnionAgg(dateset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT datesetFromText(s) AS v FROM (VALUES ('{2020-01-01}'), ('{2020-01-01, 2020-01-02}')) AS t(s))", + "{2020-01-01, 2020-01-02}"}, + {"setUnionAgg(tstzset)", + "SELECT asText(setUnionAgg(v)) FROM (SELECT tstzsetFromText(s) AS v FROM (VALUES ('{2020-01-01 00:00:00+00}'), ('{2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00}')) AS t(s))", + "{\"2020-01-01 00:00:00+00\", \"2020-01-02 00:00:00+00\"}"}, + {"spanUnionAgg(intspan)", + "SELECT asText(spanUnionAgg(v)) FROM (SELECT intspanFromText(s) AS v FROM (VALUES ('[1, 3]'), ('[2, 5]')) AS t(s))", + "{[1, 6)}"}, + {"spanUnionAgg(bigintspan)", + "SELECT asText(spanUnionAgg(v)) FROM (SELECT bigintspanFromText(s) AS v FROM (VALUES ('[1, 3]'), ('[2, 5]')) AS t(s))", + "{[1, 6)}"}, + {"spanUnionAgg(floatspan)", + "SELECT asText(spanUnionAgg(v), 6) FROM (SELECT floatspanFromText(s) AS v FROM (VALUES ('[1.5, 3.5]'), ('[2.5, 5.5]')) AS t(s))", + "{[1.5, 5.5]}"}, + {"spanUnionAgg(datespan)", + "SELECT asText(spanUnionAgg(v)) FROM (SELECT datespanFromText(s) AS v FROM (VALUES ('[2020-01-01, 2020-01-03]'), ('[2020-01-02, 2020-01-05]')) AS t(s))", + "{[2020-01-01, 2020-01-06)}"}, + {"spanUnionAgg(tstzspan)", + "SELECT asText(spanUnionAgg(v)) FROM (SELECT tstzspanFromText(s) AS v FROM (VALUES ('[2020-01-01, 2020-01-03]'), ('[2020-01-02, 2020-01-05]')) AS t(s))", + "{[2020-01-01 00:00:00+00, 2020-01-05 00:00:00+00]}"}, + {"spansetUnionAgg(intspanset)", + "SELECT asText(spansetUnionAgg(v)) FROM (SELECT intspansetFromText(s) AS v FROM (VALUES ('{[1, 3]}'), ('{[2, 5]}')) AS t(s))", + "{[1, 6)}"}, + {"spansetUnionAgg(bigintspanset)", + "SELECT asText(spansetUnionAgg(v)) FROM (SELECT bigintspansetFromText(s) AS v FROM (VALUES ('{[1, 3]}'), ('{[2, 5]}')) AS t(s))", + "{[1, 6)}"}, + {"spansetUnionAgg(floatspanset)", + "SELECT asText(spansetUnionAgg(v), 6) FROM (SELECT floatspansetFromText(s) AS v FROM (VALUES ('{[1.5, 3.5]}'), ('{[2.5, 5.5]}')) AS t(s))", + "{[1.5, 5.5]}"}, + {"spansetUnionAgg(datespanset)", + "SELECT asText(spansetUnionAgg(v)) FROM (SELECT datespansetFromText(s) AS v FROM (VALUES ('{[2020-01-01, 2020-01-03]}'), ('{[2020-01-02, 2020-01-05]}')) AS t(s))", + "{[2020-01-01, 2020-01-06)}"}, + {"spansetUnionAgg(tstzspanset)", + "SELECT asText(spansetUnionAgg(v)) FROM (SELECT tstzspansetFromText(s) AS v FROM (VALUES ('{[2020-01-01, 2020-01-03]}'), ('{[2020-01-02, 2020-01-05]}')) AS t(s))", + "{[2020-01-01 00:00:00+00, 2020-01-05 00:00:00+00]}"}, + {"tAndAgg(tbool)", + "SELECT asText(tAndAgg(v)) FROM (SELECT tboolFromText(s) AS v FROM (VALUES ('t@2020-01-01'), ('f@2020-01-02')) AS t(s))", + "{t@2020-01-01 00:00:00+00, f@2020-01-02 00:00:00+00}"}, + {"tAvg(tint)", + "SELECT asText(tAvg(v), 6) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00}"}, + {"tAvg(tbigint)", + "SELECT asText(tAvg(v), 6) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00}"}, + {"tAvg(tfloat)", + "SELECT asText(tAvg(v), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{1.5@2020-01-01 00:00:00+00, 2.5@2020-01-02 00:00:00+00}"}, + {"tCentroid(tgeompoint)", + "SELECT asText(tCentroid(v), 6) FROM (SELECT tgeompointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{POINT(1 1)@2020-01-01 00:00:00+00, POINT(2 2)@2020-01-02 00:00:00+00}"}, + {"tCentroid(tnpoint)", + "SELECT asText(tCentroid(v), 6) FROM (SELECT tnpointFromText(s) AS v FROM (VALUES ('Npoint(1,0.5)@2020-01-01'), ('Npoint(1,0.7)@2020-01-02')) AS t(s))", + "{POINT(48.718663 77.764071)@2020-01-01 00:00:00+00, POINT(34.650693 75.384585)@2020-01-02 00:00:00+00}"}, + {"tCount(tcbuffer)", + "SELECT asText(tCount(v)) FROM (SELECT tcbufferFromText(s) AS v FROM (VALUES ('Cbuffer(Point(1 1),0.5)@2020-01-01'), ('Cbuffer(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tgeometry)", + "SELECT asText(tCount(v)) FROM (SELECT tgeometryFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tgeography)", + "SELECT asText(tCount(v)) FROM (SELECT tgeographyFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tgeompoint)", + "SELECT asText(tCount(v)) FROM (SELECT tgeompointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tgeogpoint)", + "SELECT asText(tCount(v)) FROM (SELECT tgeogpointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(th3index)", + "SELECT asText(tCount(v)) FROM (SELECT th3indexFromText(s) AS v FROM (VALUES ('8a2a1072b59ffff@2020-01-01'), ('8a2a1072b597fff@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tjsonb)", + "SELECT asText(tCount(v)) FROM (SELECT tjsonbFromText(s) AS v FROM (VALUES ('\"{\\\"a\\\": 1}\"@2020-01-01'), ('\"{\\\"a\\\": 2}\"@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tnpoint)", + "SELECT asText(tCount(v)) FROM (SELECT tnpointFromText(s) AS v FROM (VALUES ('Npoint(1,0.5)@2020-01-01'), ('Npoint(1,0.7)@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tpcpoint)", + "SELECT asText(tCount(v)) FROM (SELECT tpcpointFromText(s) AS v FROM (VALUES ('0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01'), ('0101000000000000000000004000000000000000400000000000000040@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tpcpatch)", + "SELECT asText(tCount(v)) FROM (SELECT tpcpatchFromText(s) AS v FROM (VALUES ('01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01'), ('01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tpose)", + "SELECT asText(tCount(v)) FROM (SELECT tposeFromText(s) AS v FROM (VALUES ('Pose(Point(1 1),0.5)@2020-01-01'), ('Pose(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tposechain)", + "SELECT asText(tCount(v)) FROM (SELECT tposechainFromText(s) AS v FROM (VALUES ('PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))@2020-01-01'), ('PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tquadbin)", + "SELECT asText(tCount(v)) FROM (SELECT tquadbinFromText(s) AS v FROM (VALUES ('4813ffffffffffff@2020-01-01'), ('4817ffffffffffff@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(trgeometry)", + "SELECT asText(tCount(v)) FROM (SELECT trgeometryFromText(s) AS v FROM (VALUES ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(5 5),0)@2020-01-01'), ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(6 6),0)@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(ts2cell)", + "SELECT asText(tCount(v)) FROM (SELECT ts2cellFromText(s) AS v FROM (VALUES ('47c3c444c000000c@2020-01-01'), ('47c3c444c0000004@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(TIMESTAMP WITH TIME ZONE)", + "SELECT asText(tCount(v)) FROM (SELECT CAST(s AS TIMESTAMP_LTZ(6)) AS v FROM (VALUES ('2020-01-01 00:00:00'), ('2020-01-02 00:00:00')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tstzset)", + "SELECT asText(tCount(v)) FROM (SELECT tstzsetFromText(s) AS v FROM (VALUES ('{2020-01-01 00:00:00+00}'), ('{2020-01-01 00:00:00+00, 2020-01-02 00:00:00+00}')) AS t(s))", + "{2@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tstzspan)", + "SELECT asText(tCount(v)) FROM (SELECT tstzspanFromText(s) AS v FROM (VALUES ('[2020-01-01, 2020-01-03]'), ('[2020-01-02, 2020-01-05]')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-05 00:00:00+00]}"}, + {"tCount(tstzspanset)", + "SELECT asText(tCount(v)) FROM (SELECT tstzspansetFromText(s) AS v FROM (VALUES ('{[2020-01-01, 2020-01-03]}'), ('{[2020-01-02, 2020-01-05]}')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-05 00:00:00+00]}"}, + {"tCount(tbool)", + "SELECT asText(tCount(v)) FROM (SELECT tboolFromText(s) AS v FROM (VALUES ('t@2020-01-01'), ('f@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tint)", + "SELECT asText(tCount(v)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tbigint)", + "SELECT asText(tCount(v)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(tfloat)", + "SELECT asText(tCount(v)) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tCount(ttext)", + "SELECT asText(tCount(v)) FROM (SELECT ttextFromText(s) AS v FROM (VALUES ('\"a\"@2020-01-01'), ('\"b\"@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"tMaxAgg(tint)", + "SELECT asText(tMaxAgg(v)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00}"}, + {"tMaxAgg(tbigint)", + "SELECT asText(tMaxAgg(v)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00}"}, + {"tMaxAgg(tfloat)", + "SELECT asText(tMaxAgg(v), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{1.5@2020-01-01 00:00:00+00, 2.5@2020-01-02 00:00:00+00}"}, + {"tMaxAgg(ttext)", + "SELECT asText(tMaxAgg(v)) FROM (SELECT ttextFromText(s) AS v FROM (VALUES ('\"a\"@2020-01-01'), ('\"b\"@2020-01-02')) AS t(s))", + "{\"a\"@2020-01-01 00:00:00+00, \"b\"@2020-01-02 00:00:00+00}"}, + {"tMinAgg(tint)", + "SELECT asText(tMinAgg(v)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00}"}, + {"tMinAgg(tbigint)", + "SELECT asText(tMinAgg(v)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00}"}, + {"tMinAgg(tfloat)", + "SELECT asText(tMinAgg(v), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{1.5@2020-01-01 00:00:00+00, 2.5@2020-01-02 00:00:00+00}"}, + {"tMinAgg(ttext)", + "SELECT asText(tMinAgg(v)) FROM (SELECT ttextFromText(s) AS v FROM (VALUES ('\"a\"@2020-01-01'), ('\"b\"@2020-01-02')) AS t(s))", + "{\"a\"@2020-01-01 00:00:00+00, \"b\"@2020-01-02 00:00:00+00}"}, + {"tOrAgg(tbool)", + "SELECT asText(tOrAgg(v)) FROM (SELECT tboolFromText(s) AS v FROM (VALUES ('t@2020-01-01'), ('f@2020-01-02')) AS t(s))", + "{t@2020-01-01 00:00:00+00, f@2020-01-02 00:00:00+00}"}, + {"tSum(tint)", + "SELECT asText(tSum(v)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00}"}, + {"tSum(tbigint)", + "SELECT asText(tSum(v)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00}"}, + {"tSum(tfloat)", + "SELECT asText(tSum(v), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{1.5@2020-01-01 00:00:00+00, 2.5@2020-01-02 00:00:00+00}"}, + {"tdensity(tpcpatch)", + "SELECT asText(tdensity(v), 6) FROM (SELECT tpcpatchFromText(s) AS v FROM (VALUES ('01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01'), ('01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02')) AS t(s))", + "{2@2020-01-01 00:00:00+00, Infinity@2020-01-02 00:00:00+00}"}, + {"tnpoints(tpcpatch)", + "SELECT asText(tnpoints(v)) FROM (SELECT tpcpatchFromText(s) AS v FROM (VALUES ('01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01'), ('01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02')) AS t(s))", + "{2@2020-01-01 00:00:00+00, 1@2020-01-02 00:00:00+00}"}, + {"wAvgAgg(tint, INTERVAL)", + "SELECT asText(wAvgAgg(v, INTERVAL '2' DAY), 6) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "Interp=Step;{[1@2020-01-01 00:00:00+00, 1.5@2020-01-02 00:00:00+00, 1.5@2020-01-03 00:00:00+00], (2@2020-01-03 00:00:00+00, 2@2020-01-04 00:00:00+00]}"}, + {"wAvgAgg(tbigint, INTERVAL)", + "SELECT asText(wAvgAgg(v, INTERVAL '2' DAY), 6) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "Interp=Step;{[1@2020-01-01 00:00:00+00, 1.5@2020-01-02 00:00:00+00, 1.5@2020-01-03 00:00:00+00], (2@2020-01-03 00:00:00+00, 2@2020-01-04 00:00:00+00]}"}, + {"wAvgAgg(tfloat, INTERVAL)", + "SELECT asText(wAvgAgg(v, INTERVAL '2' DAY), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{[1.5@2020-01-01 00:00:00+00, 1.5@2020-01-02 00:00:00+00), [2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (2.5@2020-01-03 00:00:00+00, 2.5@2020-01-04 00:00:00+00]}"}, + {"wCount(tcbuffer, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tcbufferFromText(s) AS v FROM (VALUES ('Cbuffer(Point(1 1),0.5)@2020-01-01'), ('Cbuffer(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tgeometry, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tgeometryFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tgeography, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tgeographyFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tgeompoint, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tgeompointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tgeogpoint, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tgeogpointFromText(s) AS v FROM (VALUES ('Point(1 1)@2020-01-01'), ('Point(2 2)@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(th3index, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT th3indexFromText(s) AS v FROM (VALUES ('8a2a1072b59ffff@2020-01-01'), ('8a2a1072b597fff@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tjsonb, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tjsonbFromText(s) AS v FROM (VALUES ('\"{\\\"a\\\": 1}\"@2020-01-01'), ('\"{\\\"a\\\": 2}\"@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tnpoint, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tnpointFromText(s) AS v FROM (VALUES ('Npoint(1,0.5)@2020-01-01'), ('Npoint(1,0.7)@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tpcpoint, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tpcpointFromText(s) AS v FROM (VALUES ('0101000000000000000000F03F000000000000F03F000000000000F03F@2020-01-01'), ('0101000000000000000000004000000000000000400000000000000040@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tpcpatch, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tpcpatchFromText(s) AS v FROM (VALUES ('01010000000000000002000000000000000000F03F000000000000F03F000000000000F03F000000000000004000000000000000400000000000000040@2020-01-01'), ('01010000000000000001000000000000000000084000000000000008400000000000000840@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tpose, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tposeFromText(s) AS v FROM (VALUES ('Pose(Point(1 1),0.5)@2020-01-01'), ('Pose(Point(2 2),0.5)@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tposechain, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tposechainFromText(s) AS v FROM (VALUES ('PoseChain(Pose(Point(0 0),0),Pose(Point(10 0),0))@2020-01-01'), ('PoseChain(Pose(Point(1 2),0.1),Pose(Point(11 2),0.1))@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tquadbin, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tquadbinFromText(s) AS v FROM (VALUES ('4813ffffffffffff@2020-01-01'), ('4817ffffffffffff@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(trgeometry, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT trgeometryFromText(s) AS v FROM (VALUES ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(5 5),0)@2020-01-01'), ('Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(6 6),0)@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(ts2cell, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT ts2cellFromText(s) AS v FROM (VALUES ('47c3c444c000000c@2020-01-01'), ('47c3c444c0000004@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tint, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tbigint, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wCount(tfloat, INTERVAL)", + "SELECT asText(wCount(v, INTERVAL '2' DAY)) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-03 00:00:00+00], (1@2020-01-03 00:00:00+00, 1@2020-01-04 00:00:00+00]}"}, + {"wMax(tint, INTERVAL)", + "SELECT asText(wMax(v, INTERVAL '2' DAY)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-04 00:00:00+00]}"}, + {"wMax(tbigint, INTERVAL)", + "SELECT asText(wMax(v, INTERVAL '2' DAY)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 2@2020-01-02 00:00:00+00, 2@2020-01-04 00:00:00+00]}"}, + {"wMax(tfloat, INTERVAL)", + "SELECT asText(wMax(v, INTERVAL '2' DAY), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{[1.5@2020-01-01 00:00:00+00, 1.5@2020-01-02 00:00:00+00), [2.5@2020-01-02 00:00:00+00, 2.5@2020-01-04 00:00:00+00]}"}, + {"wMin(tint, INTERVAL)", + "SELECT asText(wMin(v, INTERVAL '2' DAY)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 1@2020-01-03 00:00:00+00], (2@2020-01-03 00:00:00+00, 2@2020-01-04 00:00:00+00]}"}, + {"wMin(tbigint, INTERVAL)", + "SELECT asText(wMin(v, INTERVAL '2' DAY)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 1@2020-01-03 00:00:00+00], (2@2020-01-03 00:00:00+00, 2@2020-01-04 00:00:00+00]}"}, + {"wMin(tfloat, INTERVAL)", + "SELECT asText(wMin(v, INTERVAL '2' DAY), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{[1.5@2020-01-01 00:00:00+00, 1.5@2020-01-03 00:00:00+00], (2.5@2020-01-03 00:00:00+00, 2.5@2020-01-04 00:00:00+00]}"}, + {"wSum(tint, INTERVAL)", + "SELECT asText(wSum(v, INTERVAL '2' DAY)) FROM (SELECT tintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 3@2020-01-02 00:00:00+00, 3@2020-01-03 00:00:00+00], (2@2020-01-03 00:00:00+00, 2@2020-01-04 00:00:00+00]}"}, + {"wSum(tbigint, INTERVAL)", + "SELECT asText(wSum(v, INTERVAL '2' DAY)) FROM (SELECT tbigintFromText(s) AS v FROM (VALUES ('1@2020-01-01'), ('2@2020-01-02')) AS t(s))", + "{[1@2020-01-01 00:00:00+00, 3@2020-01-02 00:00:00+00, 3@2020-01-03 00:00:00+00], (2@2020-01-03 00:00:00+00, 2@2020-01-04 00:00:00+00]}"}, + {"wSum(tfloat, INTERVAL)", + "SELECT asText(wSum(v, INTERVAL '2' DAY), 6) FROM (SELECT tfloatFromText(s) AS v FROM (VALUES ('1.5@2020-01-01'), ('2.5@2020-01-02')) AS t(s))", + "{[1.5@2020-01-01 00:00:00+00, 1.5@2020-01-02 00:00:00+00), [4@2020-01-02 00:00:00+00, 4@2020-01-03 00:00:00+00], (2.5@2020-01-03 00:00:00+00, 2.5@2020-01-04 00:00:00+00]}"}}; + + @TestFactory + Stream theOverloadAnswersWhatMobilityDBAnswers() { + return Stream.of(OVERLOADS) + .map(c -> DynamicTest.dynamicTest(c[0], () -> assertEquals(c[2], answer(c[1])))); + } +} diff --git a/binding/src/test/resources/pointcloud_schemas.xml b/binding/src/test/resources/pointcloud_schemas.xml new file mode 100644 index 0000000..9ede413 --- /dev/null +++ b/binding/src/test/resources/pointcloud_schemas.xml @@ -0,0 +1,32 @@ + + + + + + 1 + 8 + X + double + + + 2 + 8 + Y + double + + + 3 + 8 + Z + double + + none + +