From: | Alexander Korotkov <akorotkov(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Support for unnest(multirange) and cast multirange as an array o |
Date: | 2021-06-15 12:59:41 |
Message-ID: | E1lt8fN-0001Jq-A5@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Support for unnest(multirange) and cast multirange as an array of ranges
It has been spotted that multiranges lack of ability to decompose them into
individual ranges. Subscription and proper expanded object representation
require substantial work, and it's too late for v14. This commit
provides the implementation of unnest(multirange) and cast multirange as
an array of ranges, which is quite trivial.
unnest(multirange) is defined as a polymorphic procedure. The catalog
description of the cast underlying procedure is duplicated for each multirange
type because we don't have anyrangearray polymorphic type to use here.
Catversion is bumped.
Reported-by: Jonathan S. Katz
Discussion: https://postgr.es/m/flat/60258efe-bd7e-4886-82e1-196e0cac5433%40postgresql.org
Author: Alexander Korotkov
Reviewed-by: Justin Pryzby, Jonathan S. Katz, Zhihong Yu
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/29854ee8d1ca4a46adb7e84deb17e6fb18e531cc
Modified Files
--------------
doc/src/sgml/func.sgml | 23 ++++++
doc/src/sgml/rangetypes.sgml | 12 +++
src/backend/commands/typecmds.c | 92 ++++++++++++++++++++--
src/backend/utils/adt/multirangetypes.c | 106 ++++++++++++++++++++++++++
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_cast.dat | 20 +++++
src/include/catalog/pg_proc.dat | 23 ++++++
src/test/regress/expected/multirangetypes.out | 60 +++++++++++++++
src/test/regress/expected/opr_sanity.out | 6 ++
src/test/regress/sql/multirangetypes.sql | 13 ++++
src/test/regress/sql/opr_sanity.sql | 6 ++
11 files changed, 354 insertions(+), 9 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Alexander Korotkov | 2021-06-15 13:08:39 | pgsql: Add missing type name "multirange" in docs chapter title |
Previous Message | Amit Kapila | 2021-06-15 03:56:23 | pgsql: Fix decoding of speculative aborts. |