add parallel support
Manuel Kniep
5 years ago
18 | 18 | SFUNC = last_sfunc, |
19 | 19 | STYPE = anyelement |
20 | 20 | ); |
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 | $$;⏎ |