Jak dobrze zauważyłeś, nie widzisz wierszy zmodyfikowanych w CTE w głównym SELECT
. Ten jest udokumentowany
:
Powinieneś więc użyć RETURNING
.
Myślę, że najprostszym sposobem byłoby nie użycie funkcji, ale wykonanie json_build_object
w głównym zapytaniu i niech działa na CTE parents
i children
.