postgresql/src/include
Alexander Korotkov 29854ee8d1 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
2021-06-15 15:59:20 +03:00
..
access Reduce the range of OIDs reserved for genbki.pl. 2021-05-27 15:55:08 -04:00
bootstrap Update copyright for 2021 2021-01-02 13:06:25 -05:00
catalog Support for unnest(multirange) and cast multirange as an array of ranges 2021-06-15 15:59:20 +03:00
commands Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
common Adjust locations which have an incorrect copyright year 2021-06-04 12:19:50 +12:00
datatype Update copyright for 2021 2021-01-02 13:06:25 -05:00
executor Restore the portal-level snapshot after procedure COMMIT/ROLLBACK. 2021-05-21 14:03:59 -04:00
fe_utils psql: Refine lexing of BEGIN...END blocks in CREATE FUNCTION statements 2021-04-16 12:20:23 +02:00
foreign Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
jit Update copyright for 2021 2021-01-02 13:06:25 -05:00
lib Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
libpq Add heuristic incoming-message-size limits in the server. 2021-04-28 15:50:46 -04:00
mb Fix incautious handling of possibly-miscoded strings in client code. 2021-06-07 14:15:25 -04:00
nodes Optimize creation of slots for FDW bulk inserts 2021-06-11 20:23:33 +02:00
optimizer Reconsider the handling of procedure OUT parameters. 2021-06-10 17:11:36 -04:00
parser Reconsider the handling of procedure OUT parameters. 2021-06-10 17:11:36 -04:00
partitioning Fix relcache inconsistency hazard in partition detach 2021-04-22 15:13:25 -04:00
port Adjust locations which have an incorrect copyright year 2021-06-04 12:19:50 +12:00
portability Fix another portability bug in recent pgbench commit. 2021-03-10 23:20:41 +13:00
postmaster Remove temporary files after backend crash 2021-03-18 17:38:28 +01:00
regex Improve memory management in regex compiler. 2021-02-26 13:52:10 -05:00
replication Fix decoding of speculative aborts. 2021-06-15 08:28:36 +05:30
rewrite Adjust locations which have an incorrect copyright year 2021-06-04 12:19:50 +12:00
snowball Update snowball 2021-02-19 08:10:15 +01:00
statistics Extended statistics on expressions 2021-03-27 00:01:11 +01:00
storage Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
tcop Restore the portal-level snapshot after procedure COMMIT/ROLLBACK. 2021-05-21 14:03:59 -04:00
tsearch Don't leak compiled regex(es) when an ispell cache entry is dropped. 2021-03-18 22:22:47 -04:00
utils Restore the portal-level snapshot after procedure COMMIT/ROLLBACK. 2021-05-21 14:03:59 -04:00
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
Makefile Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
c.h Work around issues in MinGW-64's setjmp/longjmp support. 2021-03-15 12:34:17 -04:00
fmgr.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
funcapi.h Reconsider the handling of procedure OUT parameters. 2021-06-10 17:11:36 -04:00
getaddrinfo.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
getopt_long.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
miscadmin.h Refactor CHECK_FOR_INTERRUPTS() to add flexibility. 2021-05-14 13:29:39 -04:00
pg_config.h.in Refactor HMAC implementations 2021-04-03 17:30:49 +09:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
pg_getopt.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_trace.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pgstat.h Fix issues in pg_stat_wal. 2021-05-19 11:38:34 +09:00
pgtar.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pgtime.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
port.h Move bsearch_arg to src/port 2021-03-23 00:11:22 +01:00
postgres.h Mostly-cosmetic adjustments of TOAST-related macros. 2021-03-22 13:43:10 -04:00
postgres_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postgres_fe.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
rusagestub.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
windowapi.h Update copyright for 2021 2021-01-02 13:06:25 -05:00