MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_reduce_aliased_union

Method test_reduce_aliased_union

test/sql/test_selectable.py:2762–2800  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2760 )
2761
2762 def test_reduce_aliased_union(self):
2763 metadata = MetaData()
2764
2765 item_table = Table(
2766 "item",
2767 metadata,
2768 Column(
2769 "id", Integer, ForeignKey("base_item.id"), primary_key=True
2770 ),
2771 Column("dummy", Integer, default=0),
2772 )
2773 base_item_table = Table(
2774 "base_item",
2775 metadata,
2776 Column("id", Integer, primary_key=True),
2777 Column("child_name", String(255), default=None),
2778 )
2779 from sqlalchemy.orm.util import polymorphic_union
2780
2781 item_join = polymorphic_union(
2782 {
2783 "BaseItem": base_item_table.select()
2784 .where(base_item_table.c.child_name == "BaseItem")
2785 .subquery(),
2786 "Item": base_item_table.join(item_table),
2787 },
2788 None,
2789 "item_join",
2790 )
2791 eq_(
2792 util.column_set(
2793 sql_util.reduce_columns(
2794 [item_join.c.id, item_join.c.dummy, item_join.c.child_name]
2795 )
2796 ),
2797 util.column_set(
2798 [item_join.c.id, item_join.c.dummy, item_join.c.child_name]
2799 ),
2800 )
2801
2802 def test_reduce_aliased_union_2(self):
2803 metadata = MetaData()

Callers

nothing calls this directly

Calls 12

MetaDataClass · 0.90
TableClass · 0.90
ColumnClass · 0.90
ForeignKeyClass · 0.90
StringClass · 0.90
polymorphic_unionFunction · 0.90
eq_Function · 0.90
reduce_columnsMethod · 0.80
subqueryMethod · 0.45
whereMethod · 0.45
selectMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected