pl/pgsql errors when multi-dimensional arrays are used

From: PG Doc comments form <noreply(at)postgresql(dot)org>
To: pgsql-docs(at)lists(dot)postgresql(dot)org
Cc: fatwildcat(at)gmail(dot)com
Subject: pl/pgsql errors when multi-dimensional arrays are used
Date: 2021-04-29 06:32:43
Message-ID: 161967796329.694.16959597251923954981@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/13/arrays.html
Description:

I have PostgreSQL 13. Let's declare the type below, then use it in
pl/pgsql:

create type typ1 as (
fld1 int[][]
);

do $$
declare
a typ1;
begin
a.fld1 = '{{121,122,123,124}}'; -- OK (1)
a.fld1[1] = '{221,222,223,224}'; -- fails (2)
a.fld1[1][1] = 321; -- OK (3)
a.fld1[1][2] = 322; -- OK unless line (1) is removed
end;
$$;

In line (2) the plql reports ERROR: invalid input syntax for type integer:
"{221,222,223,224}"
When lines (1) and (2) are removed, psql reports ERROR: array subscript out
of range

Is this expected behavior? Why?

Rafal

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message KraSer 2021-04-29 07:48:42 Re: pl/pgsql errors when multi-dimensional arrays are used
Previous Message Tom Lane 2021-04-28 19:58:13 Re: Wrong type for the left argument of the operator "|/" and "||/" in chapter 9.3