Commit 1bc20811 authored by Cristiano Urban's avatar Cristiano Urban
Browse files

Optimized queries. Thanks to Sonia Zorba.

parent 88f5453b
Loading
Loading
Loading
Loading
+11 −13
Original line number Diff line number Diff line
@@ -635,12 +635,13 @@ class DbConnector(object):
                                     tstamp_wrapper_dir,
                                     type,
                                     location_id,
                                     async_trans,
                                     sticky,
                                     busy_state,
                                     creator_id,
                                     content_length,
                                     content_md5)
                    VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
                    VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
                    ON CONFLICT
                    DO NOTHING
                    RETURNING node_id;
@@ -651,6 +652,7 @@ class DbConnector(object):
                     node.wrapperDir,
                     node.type,
                     node.locationId,
                     node.asyncTrans,
                     node.sticky,
                     node.busyState,
                     node.creatorID,
@@ -695,12 +697,10 @@ class DbConnector(object):
            try:
                cursor = conn.cursor(cursor_factory = RealDictCursor)
                cursor.execute("""
                    UPDATE node SET async_trans = %s
                    WHERE path <@
                    (SELECT path
                     FROM node_path p
                     JOIN node n ON p.node_id = n.node_id
                     WHERE p.vos_path = %s);
                    UPDATE node c SET async_trans = %s
                    FROM node n
                    JOIN node_vos_path p ON n.node_id = p.node_id
                    WHERE c.path <@ n.path AND p.vos_path = %s;
                    """,
                    (value, nodeVOSPath,))
                conn.commit()
@@ -714,12 +714,10 @@ class DbConnector(object):
            try:
                cursor = conn.cursor(cursor_factory = RealDictCursor)
                cursor.execute("""
                    UPDATE node SET busy_state = %s
                    WHERE path <@
                    (SELECT path
                     FROM node_path p
                     JOIN node n ON p.node_id = n.node_id
                     WHERE p.vos_path = %s);
                    UPDATE node c SET busy_state = %s
                    FROM node n
                    JOIN node_vos_path p ON n.node_id = p.node_id
                    WHERE c.path <@ n.path AND p.vos_path = %s;
                    """,
                    (value, nodeVOSPath,))
                conn.commit()