Codebase list first-last-agg / 763f9e7
add parallel support Manuel Kniep 5 years ago
1 changed file(s) with 28 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
1818 SFUNC = last_sfunc,
1919 STYPE = anyelement
2020 );
21
22
23 DO $$
24 DECLARE version_num integer;
25 BEGIN
26 SELECT current_setting('server_version_num') INTO STRICT version_num;
27 IF version_num > 90600 THEN
28 EXECUTE $E$ ALTER FUNCTION last_sfunc(anyelement, anyelement) PARALLEL SAFE $E$;
29 EXECUTE $E$ ALTER FUNCTION first_sfunc(anyelement, anyelement) PARALLEL SAFE $E$;
30
31 EXECUTE $E$ DROP AGGREGATE IF EXISTS first(anyelement) $E$;
32 EXECUTE $E$ CREATE AGGREGATE first(anyelement) (
33 SFUNC = first_sfunc,
34 STYPE = anyelement,
35 COMBINEFUNC = first_sfunc,
36 parallel = SAFE
37 ); $E$;
38
39 EXECUTE $E$ DROP AGGREGATE IF EXISTS last(anyelement) $E$;
40 EXECUTE $E$ CREATE AGGREGATE last(anyelement) (
41 SFUNC = last_sfunc,
42 STYPE = anyelement,
43 COMBINEFUNC = last_sfunc,
44 parallel = SAFE
45 ); $E$;
46 END IF;
47 END;
48 $$;