From: | Alexey Bashtanov <bashtanov(at)imap(dot)cc> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Cannot create an aggregate function with variadic parameters and enabled for parallel execution |
Date: | 2018-05-13 23:44:01 |
Message-ID: | f86dde87-fef4-71eb-0480-62754aaca01b@imap.cc |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
When trying to improve my extension Argm to work with parallel queries I
found that
CREATE AGGREGATE wants serial/deserial/combine functions
to have variadic any parameter if the aggregate function itself is
variadic any.
If I add the requested parameter, CREATE AGGREGATE still cannot find the
function.
Having an analog of [m]finalfunc_extra for serial/deserial/combine functions
may be a good idea, but it's not yet there. So the attached patch makes
postgres
skip the check for the parallel support functions.
I would appreciate if someone could have a look at the patch.
The problem is probably actual for 9.6+, so back-patch would be nice if
there's no objections.
Should one be curious how to reproduce the problem, please clone
https://github.com/bashtanov/argm/tree/parallel
and try make && make install && make installcheck. This fails without
the patch, but works with it.
The error message is "function argmax_combine(internal, internal) must
accept VARIADIC ANY to be used in this aggregate".
(Just in case: this "parallel" branch is a WIP, please use "master"
branch if you need something stable).
Best regards,
Alexey
Attachment | Content-Type | Size |
---|---|---|
agg_variadic_parallel.patch | text/x-patch | 1.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | PG Bug reporting form | 2018-05-14 02:02:38 | BUG #15194: Strange results were displayed for select query. |
Previous Message | Pavel Stehule | 2018-05-13 19:43:25 | Re: Abnormal JSON query performance |