{ "name": "cartesian", "_description": "Two disjoint atoms over different tables. Exercises the 'stray' branch of planConjunction's spanning forest (no shared variables = no edge in the intersection graph) and the linear chain of natural-joins that fullJoinForest emits over disconnected components.", "schema": { "left": { "columns": [{"entity": "left"}] }, "right": { "columns": [{"entity": "right"}] } }, "facts": { "left": [ [{"entity": ["left", 1]}], [{"entity": ["left", 2]}] ], "right": [ [{"entity": ["right", 10]}], [{"entity": ["right", 20]}] ] }, "atoms": [ {"table": "left", "values": {"0": {"var": "a"}}}, {"table": "right", "values": {"0": {"var": "b"}}} ], "expected_bindings": { "columns": ["a", "b"], "rows": [ [{"entity": ["left", 1]}, {"entity": ["right", 10]}], [{"entity": ["left", 1]}, {"entity": ["right", 20]}], [{"entity": ["left", 2]}, {"entity": ["right", 10]}], [{"entity": ["left", 2]}, {"entity": ["right", 20]}] ] } }