Lets say i have subquery which produce array[], position and new_value
Is here less clumsy way to set array[position] to the new_value (not update but just change an element inside an array) than:
SELECT
_array[1:pos-1]
||newval
||_array[_pos+1:array_length(_array, 1)]
FROM
(
SELECT _array,
pos,
newval
FROM
some_colmplicated_logic
);
The:
_array[1:pos-1]
||newval
||_array[_pos+1:array_length(_array, 1)]
part is very clumsy for my eyes.
PS: that is just small part of the complicated WITH RECURSIVE iterator in real task.
--
Maxim Boguk
Senior Postgresql DBA.