Skip to content

Commit

Permalink
Update 2022-04-01_14-38_a9422eeaae74_new_dataset_models_take_2.py
Browse files Browse the repository at this point in the history
Previous code is not working. It is showing an error because the subquery is making a reference to the same table sl_columns. This code makes explicit the alias and join the tables NewColumn with the subquery.
  • Loading branch information
micsbot authored Sep 9, 2022
1 parent d3f9fbb commit b1c226d
Showing 1 changed file with 25 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -636,20 +636,30 @@ def postprocess_columns(session: Session) -> None:
return

def get_joined_tables(offset, limit):
# Import aliased from sqlalchemy
from sqlalchemy.orm import aliased
# Create alias of NewColumn
new_column_alias = aliased(NewColumn)
# Get subquery and give it the alias "sl_colums_2"
subquery = session.query(new_column_alias).offset(offset).limit(limit).subquery(
"sl_columns_2")

return (
sa.join(
session.query(NewColumn)
.offset(offset)
.limit(limit)
.subquery("sl_columns"),
subquery,
NewColumn,
# Use column id from subquery
subquery.c.id == NewColumn.id
) .join(
dataset_column_association_table,
dataset_column_association_table.c.column_id == NewColumn.id,
)
.join(
# Use column id from subquery
dataset_column_association_table.c.column_id == subquery.c.id,
)
.join(
NewDataset,
NewDataset.id == dataset_column_association_table.c.dataset_id,
)
.join(
.join(
dataset_table_association_table,
# Join tables with physical datasets
and_(
Expand All @@ -658,15 +668,17 @@ def get_joined_tables(offset, limit):
),
isouter=True,
)
.join(Database, Database.id == NewDataset.database_id)
.join(
.join(Database, Database.id == NewDataset.database_id)
.join(
TableColumn,
TableColumn.uuid == NewColumn.uuid,
# Use column uuid from subquery
TableColumn.uuid == subquery.c.uuid,
isouter=True,
)
.join(
.join(
SqlMetric,
SqlMetric.uuid == NewColumn.uuid,
# Use column uuid from subquery
SqlMetric.uuid == subquery.c.uuid,
isouter=True,
)
)
Expand Down

0 comments on commit b1c226d

Please sign in to comment.