diff options
author | Frederick Muriuki Muriithi | 2025-05-30 13:11:33 -0500 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2025-05-30 13:11:33 -0500 |
commit | 0f8772f572ad86e41d1dccda99e4bb1d4551b51a (patch) | |
tree | 5e325a4004d4563d5f6b21507a4c3f7e77c1e356 | |
parent | 3e226164ca02cbf56704672ca9549bf1cd9dd349 (diff) | |
download | gn-uploader-0f8772f572ad86e41d1dccda99e4bb1d4551b51a.tar.gz |
Use full table names rather than aliases
Using aliases leads to errors when you have to use table locking to
prevent data corruption. This commit updates queries to use the full
table names rather than aliases, in order to prevent such troubles.
-rw-r--r-- | uploader/phenotypes/models.py | 8 | ||||
-rw-r--r-- | uploader/samples/models.py | 10 |
2 files changed, 9 insertions, 9 deletions
diff --git a/uploader/phenotypes/models.py b/uploader/phenotypes/models.py index 48e64da..4454ba3 100644 --- a/uploader/phenotypes/models.py +++ b/uploader/phenotypes/models.py @@ -36,10 +36,10 @@ def dataset_by_id(conn: mdb.Connection, """Fetch dataset details by identifier""" with conn.cursor(cursorclass=DictCursor) as cursor: cursor.execute( - "SELECT s.SpeciesId, pf.* FROM Species AS s " - "INNER JOIN InbredSet AS iset ON s.Id=iset.SpeciesId " - "INNER JOIN PublishFreeze AS pf ON iset.Id=pf.InbredSetId " - "WHERE s.Id=%s AND iset.Id=%s AND pf.Id=%s", + "SELECT Species.SpeciesId, PublishFreeze.* FROM Species " + "INNER JOIN InbredSet ON Species.Id=InbredSet.SpeciesId " + "INNER JOIN PublishFreeze ON InbredSet.Id=PublishFreeze.InbredSetId " + "WHERE Species.Id=%s AND InbredSet.Id=%s AND PublishFreeze.Id=%s", (species_id, population_id, dataset_id)) return dict(cursor.fetchone()) diff --git a/uploader/samples/models.py b/uploader/samples/models.py index d7d5384..b419d61 100644 --- a/uploader/samples/models.py +++ b/uploader/samples/models.py @@ -15,11 +15,11 @@ def samples_by_species_and_population( """Fetch the samples by their species and population.""" with conn.cursor(cursorclass=DictCursor) as cursor: cursor.execute( - "SELECT iset.InbredSetId, s.* FROM InbredSet AS iset " - "INNER JOIN StrainXRef AS sxr ON iset.InbredSetId=sxr.InbredSetId " - "INNER JOIN Strain AS s ON sxr.StrainId=s.Id " - "WHERE s.SpeciesId=%(species_id)s " - "AND iset.InbredSetId=%(population_id)s", + "SELECT InbredSet.InbredSetId, Strain.* FROM InbredSet " + "INNER JOIN StrainXRef ON InbredSet.InbredSetId=StrainXRef.InbredSetId " + "INNER JOIN Strain ON StrainXRef.StrainId=Strain.Id " + "WHERE Strain.SpeciesId=%(species_id)s " + "AND InbredSet.InbredSetId=%(population_id)s", {"species_id": species_id, "population_id": population_id}) return tuple(cursor.fetchall()) |