- The first input column in the ON clause must have data type ST_GEOMETRY and contain the objects to be aggregated. After that, any number of partitioning columns may be included in the ON clause and they will be written as is to the output. The PARTITION BY clause must specify all columns other than the first or the table operator will return an error.
- NULL arguments are not included in aggregation operations. If all values in the aggregation are NULL, no rows are returned.
- If the PARTITION BY clause is omitted, each AMP performs a local aggregation operation on its rows. One output row is produced per AMP.
- Whenever input rows are redistributed to other AMPs, as caused by a PARTITION BY clause, the order of the redistribution can vary from run to run. Consequently, the geometries produced by the aggregation can vary per run. Nevertheless, the result geometries will be equivalent, but there may be differences in the ordering of points within geometries. For example, they might display different starting and ending point for a polygon.
Similarly, the structure of the geometries can vary, for example, a single LineString can represents two LineStrings or a MultiLineString. Because the union or intersection steps can occur in a different order from run to run, precision errors that can normally happen in the computation of these operations can vary slightly.