Modifying Arrays - Mailing list pgsql-docs

From PG Doc comments form
Subject Modifying Arrays
Date
Msg-id 167750600710.23480.2189471451420785675@wrigleys.postgresql.org
Whole thread Raw
Responses Re: Modifying Arrays
List pgsql-docs
The following documentation comment has been logged on the website:

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

According to the official document of PostgreSQL 15, in the section 8.15.4.
Modifying Arrays there is a statement like:

The slice syntaxes with omitted lower-bound and/or upper-bound can be used
too, but only when updating an array value that is not NULL or
zero-dimensional (otherwise, there is no existing subscript limit to
substitute).

This statement is not true for the following statements or I am missing
something?

CREATE TABLE sal_emp (
    name            text,
    pay_by_quarter  integer[],
    schedule        text[][]
);

INSERT INTO sal_emp
    VALUES ('Bill',
    '{10000, 10000, 10000, 10000}',
    '{{"meeting", "lunch"}, {"training", "presentation"}}');

INSERT INTO sal_emp
    VALUES ('Carol',
    '{20000, 25000, 25000, 25000}',
    '{{"breakfast", "consulting"}, {"meeting", "lunch"}}');

INSERT INTO sal_emp
    VALUES ('Carolx',
    '{20000, 25001, 25002, 25003}',
    '{{"breakfastx", "consultingx"}, {"meetingx", "lunchx"}, {"meetingy",
"lunchy"}}');

INSERT INTO sal_emp
    VALUES ('Sam',
    '{20000, 25001, 25002, 25003}',
    '{}');

INSERT INTO sal_emp
    VALUES ('Pam',
    '{20000, 25001, 25002, 25003}');

SELECT * FROM sal_emp;

UPDATE sal_emp SET schedule[1:2] = '{"asd", "asa"}'
    WHERE name = 'Sam';

UPDATE sal_emp SET schedule[1:2] = '{"x", "y"}'
    WHERE name = 'Pam';

SELECT * FROM sal_emp;

In order to test it: https://dbfiddle.uk/pHKY32u0

Thanks!

pgsql-docs by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Add missing meson arguments in docs
Next
From: Tom Lane
Date:
Subject: Re: Modifying Arrays