Agregaciones

Las funciones de agregación siguen el mismo principio y se enumeran en su propia tabla a continuación, de modo que un motor pueda localizar la maquinaria que necesita sin rastrear el texto. Una agregación SQL se compone de hasta tres funciones de la maquinaria de PostgreSQL, cada una expuesta bajo un nombre canónico formado a partir del nombre de la agregación y su rol: una función de transición <agregación>Transition (siempre presente), una función de combinación <agregación>Combine usada para la agregación en paralelo, y una función final <agregación>Final. Los roles de combinación y final son opcionales: una agregación cuyo estado de transición ya es su resultado no tiene función final (por ejemplo extent), y una agregación que no admite la agregación parcial no tiene función de combinación (por ejemplo las agregaciones de anexado). Los roles se mantienen distintos y con un nombre uniforme para que cada binding pueda reconstruir la agregación a partir del catálogo. La siguiente tabla enumera cada agregación y sus funciones de maquinaria; un guion (—) indica un rol que la agregación no define.

CategoríaTransiciónCombinaciónFinal
ConteotCountTransitiontCountCombinetCountFinal
 wCountTransitionwCountCombinewCountFinal
SumatSumTransitiontSumCombinetSumFinal
 wSumTransitionwSumCombinewSumFinal
PromediotAvgTransitiontAvgCombinetAvgFinal
 wAvgTransitionwAvgCombinewAvgFinal
Mínimo / máximotMinTransitiontMinCombinetMinFinal
 tMaxTransitiontMaxCombinetMaxFinal
 wMinTransitionwMinCombinewMinFinal
 wMaxTransitionwMaxCombinewMaxFinal
BooleanotAndTransitiontAndCombinetAndFinal
 tOrTransitiontOrCombinetOrFinal
CentroidetCentroidTransitiontCentroidCombinetCentroidFinal
Nube de puntostnpointsTransitiontnpointsCombinetnpointsFinal
 tdensityTransitiontdensityCombinetdensityFinal
Caja delimitadoraextentTransitionextentCombine—
UniónsetUnionTransitionsetUnionCombinesetUnionFinal
 spanUnionTransitionspanUnionCombinespanUnionFinal
 spansetUnionTransitionspansetUnionCombinespansetUnionFinal
FusiónmergeTransitionmergeCombinemergeFinal
AnexadoappendInstantTransition—appendInstantFinal
 appendSequenceTransition—appendSequenceFinal