Fix union SQL and selection previews

This commit is contained in:
2026-07-28 17:54:28 +02:00
parent 521829a7fc
commit 74f1210a32
9 changed files with 498 additions and 141 deletions

View File

@@ -288,6 +288,27 @@ class DataflowGraphAndSqlTests(unittest.TestCase):
result = execute_preview(graph, row_limit=100)
self.assertEqual([{"id": 1}, {"id": 2}, {"id": 3}], result.rows)
rendered, diagnostics = render_sql(graph)
self.assertEqual([], diagnostics)
self.assertIn("UNION BY NAME", rendered)
roundtrip, normalized, diagnostics = compile_sql(
rendered,
source_nodes=[first, second],
)
self.assertEqual(rendered, normalized)
self.assertEqual([], diagnostics)
self.assertEqual(
["source.inline", "source.inline", "combine.union", "output"],
[node.type for node in roundtrip.nodes],
)
self.assertEqual(result.rows, execute_preview(roundtrip, row_limit=100).rows)
def test_legacy_composite_edge_ids_remain_readable(self) -> None:
edge_id = f"edge-{'a' * 100}-{'b' * 100}"
edge = GraphEdge(id=edge_id, source="source", target="output")
self.assertEqual(edge_id, edge.id)
def test_connector_source_uses_bounded_resolver_and_records_lineage(self) -> None:
source = GraphNode(