Revision 9f5c8386 snf-pithos-backend/pithos/backends/lib/sqlalchemy/node.py
b/snf-pithos-backend/pithos/backends/lib/sqlalchemy/node.py | ||
---|---|---|
918 | 918 |
attributes = rp.fetchall() |
919 | 919 |
rp.close() |
920 | 920 |
for dest, domain, node, k, v in attributes: |
921 |
select_src_node = select( |
|
922 |
[self.versions.c.node], |
|
923 |
self.versions.c.serial == dest) |
|
921 | 924 |
# insert or replace |
922 | 925 |
s = self.attributes.update().where(and_( |
923 | 926 |
self.attributes.c.serial == dest, |
924 | 927 |
self.attributes.c.domain == domain, |
925 | 928 |
self.attributes.c.key == k)) |
926 |
s = s.values(value=v) |
|
929 |
s = s.values(node = select_src_node, value=v)
|
|
927 | 930 |
rp = self.conn.execute(s) |
928 | 931 |
rp.close() |
929 | 932 |
if rp.rowcount == 0: |
930 | 933 |
s = self.attributes.insert() |
931 |
s = s.values(serial=dest, domain=domain, node=node, |
|
934 |
s = s.values(serial=dest, domain=domain, node=select_src_node,
|
|
932 | 935 |
is_latest=True, key=k, value=v) |
933 | 936 |
self.conn.execute(s).close() |
934 | 937 |
|
Also available in: Unified diff