misc/migration/3.10.4_Any.py
author Julien Cristau <julien.cristau@logilab.fr>
Mon, 28 Apr 2014 12:54:14 +0200
changeset 9707 4a23058e4d9f
parent 6702 dfc19a6fb8aa
permissions -rw-r--r--
[server/session] add missing rollback when freeing a db connection When we let go of a cnxset and give it back to the pool, we need to make sure it's not in the middle of a transaction. We got bitten by a migration where the connection used by admin's repo.connect was not rolled back before attempting the migration, causing a deadlock because it had a lock on a table. This could potentially also be an issue for e.g. hooks or looping tasks that didn't explicitly rollback before calling free_cnxset or moving out of a ensure_cnx_set block.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6579
2b93aa515031 [migration] fix 3.10 migration: since cw_source is marked as meta relation, it has not been automatically added to all existant entity type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     1
for eschema in schema.entities():
6608
1a76045d093d [migration] skip final entity types
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 6607
diff changeset
     2
    if not (eschema.final or 'cw_source' in eschema.subjrels):
6702
dfc19a6fb8aa [migration] 3.10.4 migration should not ask confirmation when adding CWSource
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 6679
diff changeset
     3
        add_relation_definition(eschema.type, 'cw_source', 'CWSource', ask_confirm=False)
6579
2b93aa515031 [migration] fix 3.10 migration: since cw_source is marked as meta relation, it has not been automatically added to all existant entity type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     4
2b93aa515031 [migration] fix 3.10 migration: since cw_source is marked as meta relation, it has not been automatically added to all existant entity type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     5
sql('INSERT INTO cw_source_relation(eid_from, eid_to) '
2b93aa515031 [migration] fix 3.10 migration: since cw_source is marked as meta relation, it has not been automatically added to all existant entity type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     6
    'SELECT e.eid,s.cw_eid FROM entities as e, cw_CWSource as s '
6621
11c09415078b [migration] stupid typo, cw_source still not properly set
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 6608
diff changeset
     7
    'WHERE s.cw_name=e.source AND NOT EXISTS(SELECT 1 FROM cw_source_relation WHERE eid_from=e.eid AND eid_to=s.cw_eid)')
6579
2b93aa515031 [migration] fix 3.10 migration: since cw_source is marked as meta relation, it has not been automatically added to all existant entity type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     8
commit()