mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
Add parallel query support functions for assorted aggregates.
This lets us use parallel aggregate for a variety of useful cases that didn't work before, like sum(int8), sum(numeric), several versions of avg(), and various other functions. Add some regression tests, as well, testing the general sanity of these and future catalog entries. David Rowley, reviewed by Tomas Vondra, with a few further changes by me.
This commit is contained in:
@@ -1064,15 +1064,27 @@ extern Datum numeric_float8_no_overflow(PG_FUNCTION_ARGS);
|
||||
extern Datum float4_numeric(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_float4(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_accum(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_combine(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_avg_accum(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_avg_combine(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_avg_serialize(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_avg_deserialize(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_serialize(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_deserialize(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_accum_inv(PG_FUNCTION_ARGS);
|
||||
extern Datum int2_accum(PG_FUNCTION_ARGS);
|
||||
extern Datum int4_accum(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_accum(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_poly_combine(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_poly_serialize(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_poly_deserialize(PG_FUNCTION_ARGS);
|
||||
extern Datum int2_accum_inv(PG_FUNCTION_ARGS);
|
||||
extern Datum int4_accum_inv(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_accum_inv(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_avg_accum(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_avg_combine(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_avg_serialize(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_avg_deserialize(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_avg(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_sum(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_var_pop(PG_FUNCTION_ARGS);
|
||||
@@ -1090,6 +1102,7 @@ extern Datum int4_sum(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_sum(PG_FUNCTION_ARGS);
|
||||
extern Datum int2_avg_accum(PG_FUNCTION_ARGS);
|
||||
extern Datum int4_avg_accum(PG_FUNCTION_ARGS);
|
||||
extern Datum int4_avg_combine(PG_FUNCTION_ARGS);
|
||||
extern Datum int2_avg_accum_inv(PG_FUNCTION_ARGS);
|
||||
extern Datum int4_avg_accum_inv(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_avg_accum_inv(PG_FUNCTION_ARGS);
|
||||
|
||||
Reference in New Issue
Block a user