Compare commits

..

3 Commits

Author SHA1 Message Date
Hassan Abedi
362d5d1917 Add a Makefile target for plan viewer 2026-06-11 17:00:58 +02:00
Hassan Abedi
6327920bf7 Add a simple UI for visualizing the plans 2026-06-11 17:00:58 +02:00
Hassan Abedi
b38b176e7f Add a few emojies to README files 2026-06-11 17:00:58 +02:00
4 changed files with 504 additions and 504 deletions

View File

@ -1,114 +1,114 @@
{ {
"_scenario": "cartesian", "_scenario": "cartesian",
"expected_bindings": { "expected_bindings": {
"columns": [ "columns": [
"a", "a",
"b" "b"
], ],
"rows": [ "rows": [
[ [
{ {
"str": "left:1" "str": "left:1"
}, },
{ {
"str": "right:10" "str": "right:10"
} }
],
[
{
"str": "left:1"
},
{
"str": "right:20"
}
],
[
{
"str": "left:2"
},
{
"str": "right:10"
}
],
[
{
"str": "left:2"
},
{
"str": "right:20"
}
]
]
},
"facts": {
"left": [
[
{
"str": "left:1"
}
],
[
{
"str": "left:2"
}
]
],
"right": [
[
{
"str": "right:10"
}
],
[
{
"str": "right:20"
}
]
]
},
"query": {
"nodes": [
{
"action": {
"scan": {
"columns": [
{
"var": "a"
}
], ],
[ "table": "left"
{ }
"str": "left:1" },
}, "id": 1
{ },
"str": "right:20" {
} "action": {
"scan": {
"columns": [
{
"var": "b"
}
], ],
[ "table": "right"
{ }
"str": "left:2" },
}, "id": 2
{ },
"str": "right:10" {
} "action": {
], "join": {
[ "left": 1,
{ "op": "natural",
"str": "left:2" "right": 2
}, }
{ },
"str": "right:20" "id": 3
} }
] ],
] "root": 3
}, },
"facts": { "schema": {
"left": [ "left": 1,
[ "right": 1
{ }
"str": "left:1"
}
],
[
{
"str": "left:2"
}
]
],
"right": [
[
{
"str": "right:10"
}
],
[
{
"str": "right:20"
}
]
]
},
"query": {
"nodes": [
{
"action": {
"scan": {
"columns": [
{
"var": "a"
}
],
"table": "left"
}
},
"id": 1
},
{
"action": {
"scan": {
"columns": [
{
"var": "b"
}
],
"table": "right"
}
},
"id": 2
},
{
"action": {
"join": {
"left": 1,
"op": "natural",
"right": 2
}
},
"id": 3
}
],
"root": 3
},
"schema": {
"left": 1,
"right": 1
}
} }

View File

@ -1,84 +1,84 @@
{ {
"_scenario": "self-loop", "_scenario": "self-loop",
"expected_bindings": { "expected_bindings": {
"columns": [ "columns": [
"x" "x"
], ],
"rows": [ "rows": [
[ [
{ {
"str": "node:2" "str": "node:2"
} }
],
[
{
"str": "node:3"
}
]
]
},
"facts": {
"edge": [
[
{
"str": "node:1"
},
{
"str": "node:2"
},
{
"str": "edge:1"
}
],
[
{
"str": "node:2"
},
{
"str": "node:2"
},
{
"str": "edge:2"
}
],
[
{
"str": "node:3"
},
{
"str": "node:3"
},
{
"str": "edge:3"
}
]
]
},
"query": {
"nodes": [
{
"action": {
"scan": {
"columns": [
{
"var": "x"
},
{
"var": "x"
},
{
"var": "_w0_2"
}
], ],
[ "table": "edge"
{ }
"str": "node:3" },
} "id": 1
] }
] ],
}, "root": 1
"facts": { },
"edge": [ "schema": {
[ "edge": 3
{ }
"str": "node:1"
},
{
"str": "node:2"
},
{
"str": "edge:1"
}
],
[
{
"str": "node:2"
},
{
"str": "node:2"
},
{
"str": "edge:2"
}
],
[
{
"str": "node:3"
},
{
"str": "node:3"
},
{
"str": "edge:3"
}
]
]
},
"query": {
"nodes": [
{
"action": {
"scan": {
"columns": [
{
"var": "x"
},
{
"var": "x"
},
{
"var": "_w0_2"
}
],
"table": "edge"
}
},
"id": 1
}
],
"root": 1
},
"schema": {
"edge": 3
}
} }

View File

@ -1,186 +1,186 @@
{ {
"_scenario": "three-atom-chain", "_scenario": "three-atom-chain",
"expected_bindings": { "expected_bindings": {
"columns": [ "columns": [
"a", "a",
"b", "b",
"c" "c"
], ],
"rows": [ "rows": [
[ [
{ {
"str": "node:1" "str": "node:1"
}, },
{ {
"str": "node:2" "str": "node:2"
}, },
{ {
"str": "node:3" "str": "node:3"
} }
] ]
] ]
}, },
"facts": { "facts": {
"edge": [ "edge": [
[ [
{ {
"str": "node:1" "str": "node:1"
}, },
{ {
"str": "node:2" "str": "node:2"
}, },
{ {
"str": "edge:1" "str": "edge:1"
} }
],
[
{
"str": "node:2"
},
{
"str": "node:3"
},
{
"str": "edge:2"
}
]
],
"node": [
[
{
"str": "node:1"
}
],
[
{
"str": "node:2"
}
],
[
{
"str": "node:3"
}
]
]
},
"query": {
"nodes": [
{
"action": {
"scan": {
"columns": [
{
"var": "a"
},
{
"var": "b"
},
{
"var": "_w0_2"
}
], ],
[ "table": "edge"
{ }
"str": "node:2" },
}, "id": 1
{ },
"str": "node:3" {
}, "action": {
{ "scan": {
"str": "edge:2" "columns": [
} {
] "var": "b"
], },
"node": [ {
[ "var": "c"
{ },
"str": "node:1" {
} "var": "_w1_2"
}
], ],
[ "table": "edge"
{ }
"str": "node:2" },
} "id": 2
},
{
"action": {
"scan": {
"columns": [
{
"var": "a"
}
], ],
[ "table": "node"
{ }
"str": "node:3" },
} "id": 3
] },
] {
}, "action": {
"query": { "join": {
"nodes": [ "left": 1,
{ "op": "left",
"action": { "right": 3
"scan": { }
"columns": [ },
{ "id": 4
"var": "a" },
}, {
{ "action": {
"var": "b" "join": {
}, "left": 2,
{ "op": "left",
"var": "_w0_2" "right": 4
} }
], },
"table": "edge" "id": 5
} },
}, {
"id": 1 "action": {
}, "join": {
{ "left": 5,
"action": { "op": "right",
"scan": { "right": 4
"columns": [ }
{ },
"var": "b" "id": 6
}, },
{ {
"var": "c" "action": {
}, "join": {
{ "left": 6,
"var": "_w1_2" "op": "right",
} "right": 3
], }
"table": "edge" },
} "id": 7
}, },
"id": 2 {
}, "action": {
{ "join": {
"action": { "left": 6,
"scan": { "op": "natural",
"columns": [ "right": 7
{ }
"var": "a" },
} "id": 8
], },
"table": "node" {
} "action": {
}, "join": {
"id": 3 "left": 5,
}, "op": "natural",
{ "right": 8
"action": { }
"join": { },
"left": 1, "id": 9
"op": "left", }
"right": 3 ],
} "root": 9
}, },
"id": 4 "schema": {
}, "edge": 3,
{ "node": 1
"action": { }
"join": {
"left": 2,
"op": "left",
"right": 4
}
},
"id": 5
},
{
"action": {
"join": {
"left": 5,
"op": "right",
"right": 4
}
},
"id": 6
},
{
"action": {
"join": {
"left": 6,
"op": "right",
"right": 3
}
},
"id": 7
},
{
"action": {
"join": {
"left": 6,
"op": "natural",
"right": 7
}
},
"id": 8
},
{
"action": {
"join": {
"left": 5,
"op": "natural",
"right": 8
}
},
"id": 9
}
],
"root": 9
},
"schema": {
"edge": 3,
"node": 1
}
} }

View File

@ -1,136 +1,136 @@
{ {
"_scenario": "two-atom-join", "_scenario": "two-atom-join",
"expected_bindings": { "expected_bindings": {
"columns": [ "columns": [
"a", "a",
"b" "b"
], ],
"rows": [ "rows": [
[ [
{ {
"str": "node:1" "str": "node:1"
}, },
{ {
"str": "node:2" "str": "node:2"
} }
],
[
{
"str": "node:2"
},
{
"str": "node:1"
}
]
]
},
"facts": {
"edge": [
[
{
"str": "node:1"
},
{
"str": "node:2"
},
{
"str": "edge:1"
}
],
[
{
"str": "node:2"
},
{
"str": "node:1"
},
{
"str": "edge:2"
}
]
],
"node": [
[
{
"str": "node:1"
}
],
[
{
"str": "node:2"
}
]
]
},
"query": {
"nodes": [
{
"action": {
"scan": {
"columns": [
{
"var": "a"
},
{
"var": "b"
},
{
"var": "_w0_2"
}
], ],
[ "table": "edge"
{ }
"str": "node:2" },
}, "id": 1
{ },
"str": "node:1" {
} "action": {
] "scan": {
] "columns": [
}, {
"facts": { "var": "a"
"edge": [ }
[
{
"str": "node:1"
},
{
"str": "node:2"
},
{
"str": "edge:1"
}
], ],
[ "table": "node"
{ }
"str": "node:2" },
}, "id": 2
{ },
"str": "node:1" {
}, "action": {
{ "join": {
"str": "edge:2" "left": 1,
} "op": "left",
] "right": 2
], }
"node": [ },
[ "id": 3
{ },
"str": "node:1" {
} "action": {
], "join": {
[ "left": 3,
{ "op": "right",
"str": "node:2" "right": 2
} }
] },
] "id": 4
}, },
"query": { {
"nodes": [ "action": {
{ "join": {
"action": { "left": 3,
"scan": { "op": "natural",
"columns": [ "right": 4
{ }
"var": "a" },
}, "id": 5
{ }
"var": "b" ],
}, "root": 5
{ },
"var": "_w0_2" "schema": {
} "edge": 3,
], "node": 1
"table": "edge" }
}
},
"id": 1
},
{
"action": {
"scan": {
"columns": [
{
"var": "a"
}
],
"table": "node"
}
},
"id": 2
},
{
"action": {
"join": {
"left": 1,
"op": "left",
"right": 2
}
},
"id": 3
},
{
"action": {
"join": {
"left": 3,
"op": "right",
"right": 2
}
},
"id": 4
},
{
"action": {
"join": {
"left": 3,
"op": "natural",
"right": 4
}
},
"id": 5
}
],
"root": 5
},
"schema": {
"edge": 3,
"node": 1
}
} }