Skip to content

Commit 570c4ae

Browse files
committed
Speed up copied_to_history_dataset_associations
1 parent a9540d6 commit 570c4ae

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed

lib/galaxy/model/__init__.py

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@
127127
reconstructor,
128128
registry,
129129
relationship,
130+
remote,
130131
validates,
131132
)
132133
from sqlalchemy.orm.attributes import flag_modified
@@ -11950,15 +11951,34 @@ def __repr__(self):
1195011951
lazy="joined",
1195111952
back_populates="history_associations",
1195211953
),
11954+
copied_to_history_dataset_associations=relationship(
11955+
"HistoryDatasetAssociation",
11956+
primaryjoin=lambda: and_(
11957+
HistoryDatasetAssociation.id
11958+
== remote(HistoryDatasetAssociation.copied_from_history_dataset_association_id),
11959+
# Include dataset_id, not technically necessary but allows filtering early
11960+
# and avoid the need for an index on copied_from_history_dataset_association_id
11961+
HistoryDatasetAssociation.dataset_id == remote(HistoryDatasetAssociation.dataset_id),
11962+
),
11963+
remote_side=lambda: [
11964+
HistoryDatasetAssociation.copied_from_history_dataset_association_id,
11965+
HistoryDatasetAssociation.dataset_id,
11966+
],
11967+
back_populates="copied_from_history_dataset_association",
11968+
),
1195311969
copied_from_history_dataset_association=relationship(
11954-
HistoryDatasetAssociation,
11955-
primaryjoin=(
11956-
HistoryDatasetAssociation.table.c.copied_from_history_dataset_association_id
11957-
== HistoryDatasetAssociation.table.c.id
11970+
"HistoryDatasetAssociation",
11971+
primaryjoin=lambda: and_(
11972+
HistoryDatasetAssociation.copied_from_history_dataset_association_id
11973+
== remote(HistoryDatasetAssociation.id),
11974+
HistoryDatasetAssociation.dataset_id == remote(HistoryDatasetAssociation.dataset_id),
1195811975
),
11959-
remote_side=[HistoryDatasetAssociation.table.c.id],
11960-
uselist=False,
11976+
remote_side=lambda: [
11977+
HistoryDatasetAssociation.id,
11978+
HistoryDatasetAssociation.dataset_id,
11979+
],
1196111980
back_populates="copied_to_history_dataset_associations",
11981+
uselist=False,
1196211982
),
1196311983
copied_from_library_dataset_dataset_association=relationship(
1196411984
LibraryDatasetDatasetAssociation,
@@ -11968,14 +11988,6 @@ def __repr__(self):
1196811988
),
1196911989
back_populates="copied_to_history_dataset_associations",
1197011990
),
11971-
copied_to_history_dataset_associations=relationship(
11972-
HistoryDatasetAssociation,
11973-
primaryjoin=(
11974-
HistoryDatasetAssociation.table.c.copied_from_history_dataset_association_id
11975-
== HistoryDatasetAssociation.table.c.id
11976-
),
11977-
back_populates="copied_from_history_dataset_association",
11978-
),
1197911991
copied_to_library_dataset_dataset_associations=relationship(
1198011992
LibraryDatasetDatasetAssociation,
1198111993
primaryjoin=(

0 commit comments

Comments
 (0)