Re: unnesting multirange data types
Alexander Korotkov <aekorotkov@gmail.com>
From: Alexander Korotkov <aekorotkov@gmail.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, "Jonathan S. Katz" <jkatz@postgresql.org>, Justin Pryzby <pryzby@telsasoft.com>, Zhihong Yu <zyu@yugabyte.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-06-16T12:19:08Z
Lists: pgsql-hackers
On Tue, Jun 15, 2021 at 8:28 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> On 2021-Jun-15, Tom Lane wrote:
>
> > It looks to me like the proximate problem is that you should
> > have taught pg_dump to skip these new auto-generated functions.
> > However, I fail to see why we need auto-generated functions
> > for this at all. Couldn't we have done it with one polymorphic
> > function?
>
> I think such a function would need to take anycompatiblerangearray,
> which is not something we currently have.
Yes, I've started with polymorphic function
multirange_to_array(anymultirange) returning anyarray. But then I got
that for int4multirange return type Is integer[] instead of
int4range[] :)
# select pg_typeof(multirange_to_array('{[1,2),[5,6)}'::int4multirange));
pg_typeof
-----------
integer[]
(1 row)
So, a new anyrangearray polymorphic type is required for this
function. Not sure if it worth it to introduce a new polymorphic
function for this use case.
------
Regards,
Alexander Korotkov
Commits
-
Fix small inconsistencies in catalog definition of multirange operators
- 4d39d4e639b4 14.0 landed
- 768ea9bcf981 15.0 landed
-
Revert 29854ee8d1 due to buildfarm failures
- 817bb0a7d1e0 14.0 landed
-
Copy-edit text for the pg_terminate_backend() "timeout" parameter.
- 0aac73e6a260 14.0 cited
-
Add missing pg_description strings for pg_type entries.
- b09a64d602a1 12.0 cited
-
Fix pg_description entries for jsonb_to_record() and jsonb_to_recordset().
- a4627e8fd479 9.6.0 cited
-
docs: clarify JSONB operator descriptions
- b852dc4cbd09 9.6.0 cited
-
Set procost to 10 for each of the pg_foo_is_visible() functions.
- a80889a7359e 9.3.0 cited
-
Make use of LATERAL in information_schema.sequences view.
- c246eb5aafe6 9.3.0 cited
-
Add pg_trigger_depth() function
- 74ab96a45ef6 9.2.0 cited
-
Add database comments to template0 and postgres databases, and improve
- ddd6ff289f25 9.1.0 cited