Re: PL/pgSQL: « arr[j].a := v » works fine in PG Version 14.4, fails to compile in Version 11.2. Which version brought the fix?

Поиск
Список
Период
Сортировка
От Bryn Llewellyn
Тема Re: PL/pgSQL: « arr[j].a := v » works fine in PG Version 14.4, fails to compile in Version 11.2. Which version brought the fix?
Дата
Msg-id 89FDDABB-CF19-4DBF-9C43-B881CA1A5BB2@yugabyte.com
обсуждение исходный текст
Ответ на Re: PL/pgSQL: « arr[j].a := v » works fine in PG Version 14.4, fails to compile in Version 11.2. Which version brought the fix?  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-general
david.g.johnston@gmail.com wrote:

bryn@yugabyte.com wrote:

I copied my testcase at the end. It runs OK and produces the output that I expect using PG Version 14.4. But using Version 11.9 (and earlier 11 sub-versions), it fails to compile with this error:

syntax error at or near "."
lhs[j].a := rhs[j].a;
      ^

If I comment out the "Ideal approach" loop, then it runs fine in PG 11 and produces the same output as the "Ideal approach" does in PG 14,

I looked at the Release Notes for each of Versions 14, 13, and 12:

From the change to this page I'd say v14:

https://www.postgresql.org/docs/14/plpgsql-statements.html

The release note for v14 say:

«
PL/PgSQL: 
Improve PL/pgSQL's expression and assignment parsing (Tom Lane)
This change allows assignment to array slices and nested record fields.
»

Thanks for the quick reply, David.


I searched in the page for « ]. » and found this:

complex_array[n].realpart = 12.3;

The corresponding page for Version 13 has no hits for « ]. ». So that seems to be a clear answer to my question.

В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Password reset link / 'less' does not exit in psql version 13.4
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Password reset link / 'less' does not exit in psql version 13.4