postgresql/src/backend/commands
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
..
Makefile Split copy.c into four files. 2020-11-23 10:50:50 +02:00
aggregatecmds.c SQL-standard function body 2021-04-07 21:47:55 +02:00
alter.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
amcmds.c Fix some typos, grammar and style in docs and comments 2021-02-24 16:13:17 +09:00
analyze.c Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
async.c Remove server and libpq support for old FE/BE protocol version 2. 2021-03-04 10:45:55 +02:00
cluster.c Fix typos and grammar in documentation and code comments 2021-04-09 13:53:07 +09:00
collationcmds.c Revert per-index collation version tracking feature. 2021-05-07 21:10:11 +12:00
comment.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
constraint.c Pass down "logically unchanged index" hint. 2021-01-13 08:11:00 -08:00
conversioncmds.c Add 'noError' argument to encoding conversion functions. 2021-04-01 11:45:22 +03:00
copy.c Rename Default Roles to Predefined Roles 2021-04-01 15:32:06 -04:00
copyfrom.c Fix typos and grammar in documentation and code comments 2021-04-09 13:53:07 +09:00
copyfromparse.c Add heuristic incoming-message-size limits in the server. 2021-04-28 15:50:46 -04:00
copyto.c Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
createas.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
dbcommands.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
define.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
discard.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
dropcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
event_trigger.c Improve handling of dropped objects in pg_event_trigger_ddl_commands() 2021-06-14 14:57:22 +09:00
explain.c Allow compute_query_id to be set to 'auto' and make it default 2021-05-15 14:13:09 -04:00
extension.c Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
foreigncmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
functioncmds.c Reconsider the handling of procedure OUT parameters. 2021-06-10 17:11:36 -04:00
indexcmds.c Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
lockcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
matview.c Reduce risks of conflicts in internal queries of REFRESH MATVIEW CONCURRENTLY 2021-06-03 15:28:24 +09:00
opclasscmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
operatorcmds.c Fix typos in operatorcmds.c 2021-05-10 15:45:54 +09:00
policy.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
portalcmds.c Avoid misbehavior when persisting a non-stable cursor. 2021-06-08 17:50:29 -04:00
prepare.c Improve performance of repeated CALLs within plpgsql procedures. 2021-01-25 22:28:29 -05:00
proclang.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
publicationcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
schemacmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
seclabel.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
sequence.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
statscmds.c Replace run-time error check with assertion 2021-05-27 09:54:14 +02:00
subscriptioncmds.c Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
tablecmds.c Rethink definition of pg_attribute.attcompression. 2021-05-27 13:24:27 -04:00
tablespace.c Prevent drop of tablespaces used by partitioned relations 2021-01-14 15:32:14 -03:00
trigger.c Fix access to no-longer-open relcache entry in logical-rep worker. 2021-05-22 21:25:29 -04:00
tsearchcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
typecmds.c Support for unnest(multirange) and cast multirange as an array of ranges 2021-06-15 15:59:20 +03:00
user.c Standardize pg_authid oid_symbol values. 2021-04-10 12:01:41 -07:00
vacuum.c Improve docs and error messages for parallel vacuum. 2021-05-25 09:26:53 +05:30
variable.c Fix some inappropriately-disallowed uses of ALTER ROLE/DATABASE SET. 2021-04-13 15:10:18 -04:00
view.c Update copyright for 2021 2021-01-02 13:06:25 -05:00