mirror of https://github.com/citusdata/citus.git
61 lines
1.7 KiB
SQL
61 lines
1.7 KiB
SQL
CREATE FUNCTION stype_serialize(internal, oid, ...)serial
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
|
|
|
CREATE FUNCTION stype_deserialize(internal, oid, ...)serial
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
|
|
|
CREATE FUNCTION stype_combine(internal, oid, ...)serial
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
|
|
|
CREATE FUNCTION worker_partial_agg_sfunc(internal, oid, ...)
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
|
|
|
CREATE FUNCTION worker_partial_agg_ffunc(internal, oid, ...)
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
|
|
|
CREATE FUNCTION coord_combine_agg_sfunc(internal, oid, ...)
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
|
|
|
CREATE FUNCTION coord_combine_agg_ffunc(internal, oid, ...)
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
|
|
|
-- select worker_partial_agg(agg, ...)
|
|
-- equivalent to
|
|
-- select serialize_stype(agg_without_ffunc(...))
|
|
CREATE AGGREGATE worker_partial_agg(oid, ...) (
|
|
STYPE = internal,
|
|
SFUNC = worker_partial_agg_sfunc,
|
|
FINALFUNC = worker_partial_agg_ffunc,
|
|
COMBINEFUNC = stypebox_combine,
|
|
SERIALFUNC = stypebox_serialize,
|
|
DESERIALFUNC = stypebox_deserialize,
|
|
PARALLEL = SAFE
|
|
)
|
|
|
|
-- select coord_combine_agg(agg, col)
|
|
-- equivalent to
|
|
-- select agg_ffunc(agg_combine(col))
|
|
CREATE AGGREGATE coord_combine_agg(oid, ...) (
|
|
STYPE = internal,
|
|
SFUNC = coord_combine_sfunc,
|
|
FINALFUNC = coord_combine_agg_ffunc,
|
|
FINALFUNC_EXTRA,
|
|
COMBINEFUNC = stypebox_combine,
|
|
SERIALFUNC = stypebox_serialize,
|
|
DESERIALFUNC = stypebox_deserialize,
|
|
PARALLEL = SAFE
|
|
) |