aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/catalog/information_schema.sql7
-rw-r--r--src/backend/utils/adt/arrayfuncs.c3
2 files changed, 5 insertions, 5 deletions
diff --git a/src/backend/catalog/information_schema.sql b/src/backend/catalog/information_schema.sql
index 10b34c3c5b8..893f73ecb50 100644
--- a/src/backend/catalog/information_schema.sql
+++ b/src/backend/catalog/information_schema.sql
@@ -43,11 +43,8 @@ SET search_path TO information_schema;
CREATE FUNCTION _pg_expandarray(IN anyarray, OUT x anyelement, OUT n int)
RETURNS SETOF RECORD
LANGUAGE sql STRICT IMMUTABLE PARALLEL SAFE
- AS 'select $1[s],
- s operator(pg_catalog.-) pg_catalog.array_lower($1,1) operator(pg_catalog.+) 1
- from pg_catalog.generate_series(pg_catalog.array_lower($1,1),
- pg_catalog.array_upper($1,1),
- 1) as g(s)';
+ ROWS 100 SUPPORT pg_catalog.array_unnest_support
+ AS 'SELECT * FROM pg_catalog.unnest($1) WITH ORDINALITY';
/* Given an index's OID and an underlying-table column number, return the
* column's position in the index (NULL if not there) */
diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c
index 631012a0f28..e783a24519d 100644
--- a/src/backend/utils/adt/arrayfuncs.c
+++ b/src/backend/utils/adt/arrayfuncs.c
@@ -6317,6 +6317,9 @@ array_unnest(PG_FUNCTION_ARGS)
/*
* Planner support function for array_unnest(anyarray)
+ *
+ * Note: this is now also used for information_schema._pg_expandarray(),
+ * which is simply a wrapper around array_unnest().
*/
Datum
array_unnest_support(PG_FUNCTION_ARGS)