W tabeli store__categories mam kolumnę typu bigint[]. Podczas updejtu chce uzyskac pelna sciezkę az do roota danej kategorii. I wszystko byloby ok gdyby nie to ze postgres wypeir***la sie podczas updaejtu. Nie potrafi łyknac zmiennej ids typu tablicowego, natomiast jezeli sprobouje wtawic dane w postaci stringa rownież jest bład tyczacy sie wstawienie zmiennej text do typu bigint[]. Pytanie, jak z poziomu procedury zrobic upa typu tablicowego?
DECLARE
ids bigint[];
BEGIN
IF(TG_OP = 'UPDATE') THEN
SELECT array(SELECT cTree.id FROM
store__categories c
LEFT JOIN store__categories cTree ON c.lft >= cTree.lft AND c.rgt <= cTree.rgt AND c.root_id = cTree.root_id
WHERE c.id = NEW.id
ORDER BY cTree.level ASC)
INTO ids;
UPDATE store__categories SET path = ids WHERE id = NEW.id;
END IF;
RETURN NULL;
END;
$$
LANGUAGE 'plpgsql' VOLATILE
COST 100;