Commit 8a2f1c93 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Fixed issue in getNodesToBeDeleted() query

parent 449a32fa
Loading
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -196,14 +196,20 @@ class DbConnector(object):
            try:
                cursor = conn.cursor(cursor_factory = RealDictCursor)
                cursor.execute("""
                    WITH RECURSIVE del AS (
                    WITH RECURSIVE all_nodes AS (
                        SELECT node_id, name, os_name, relative_path, parent_relative_path
                        FROM node
                        UNION
                        SELECT node_id, name, os_name, path(parent_relative_path, node_id) AS relative_path, parent_relative_path
                        FROM deleted_node
                    ), del AS (
                        SELECT COALESCE(os_name, name) AS os_name, 1 AS level, node_id AS deleted_node_id,
                        path(parent_relative_path, node_id) AS relative_path, parent_relative_path 
                        FROM deleted_node WHERE phy_deleted_on IS NULL
                            UNION ALL
                        SELECT COALESCE(n.os_name, n.name), d.level + 1, d.deleted_node_id,
                        n.relative_path, n.parent_relative_path
                        FROM node n JOIN del d ON n.relative_path = d.parent_relative_path
                        FROM all_nodes n JOIN del d ON n.relative_path = d.parent_relative_path
                        WHERE n.parent_relative_path IS NOT NULL
                    ), paths_to_delete AS
                    (SELECT deleted_node_id, '/' || STRING_AGG(os_name, '/' ORDER BY LEVEL DESC) AS os_path