range_agg with multirange inputs

Paul A Jungwirth <pj@illuminatedcomputing.com>

From: Paul Jungwirth <pj@illuminatedcomputing.com>
To: Pgsql Hackers <pgsql-hackers@postgresql.org>
Cc: Alexander Korotkov <aekorotkov@gmail.com>
Date: 2021-12-11T00:24:48Z
Lists: pgsql-hackers

Attachments

Here is a patch adding range_agg(anymultirange). Previously range_agg 
only accepted anyrange.

Here is a bug report from last month requesting this addition:

https://www.postgresql.org/message-id/CAOC8YUcOtAGscPa31ik8UEMzgn8uAWA09s6CYOGPyP9_cBbWTw%40mail.gmail.com

As that message points out, range_intersect_agg accepts either anyrange 
or anymultirange, so it makes sense for range_agg to do the same.

I noticed that the docs only mentioned range_intersect_agg(anyrange), so 
I added the anymultirange versions of both on the aggregate functions page.

I also added a few more tests for range_intersect_agg since the coverage 
there seemed light.

Yours,

-- 
Paul              ~{:-)
pj@illuminatedcomputing.com

Commits

  1. Add range_agg with multirange inputs

  2. Change some internal error messages to elogs

  3. Additional tests for range_intersect_agg(anymultirange)

  4. doc: Document range_intersect_agg(anymultirange)