exec-ddl
CREATE TABLE abc (a INT, b INT, c INT, INDEX abc_idx(a, b, c))
----

exec-ddl
CREATE TABLE def (d INT, e INT, f INT)
----

expr
(Intersect
  (Scan [ (Table "abc") (Index "abc@abc_idx") (Cols "a,b,c") ])
  (Sort (Scan [ (Table "def") (Cols "d,e,f") ]))
  [
    (LeftCols "a,b,c")
    (RightCols "d,e,f")
    (OutCols "a,b,c")
    (Ordering "+a,+b,+c")
  ]
)
----
intersect
 ├── columns: t.public.abc.a:1(int) t.public.abc.b:2(int) t.public.abc.c:3(int)
 ├── left columns: t.public.abc.a:1(int) t.public.abc.b:2(int) t.public.abc.c:3(int)
 ├── right columns: t.public.def.d:7(int) t.public.def.e:8(int) t.public.def.f:9(int)
 ├── internal-ordering: +1,+2,+3
 ├── stats: [rows=1000, distinct(1-3)=1000, null(1-3)=0.001]
 ├── cost: 2469.0043
 ├── key: (1-3)
 ├── interesting orderings: (+1,+2,+3)
 ├── scan t.public.abc@abc_idx
 │    ├── columns: t.public.abc.a:1(int) t.public.abc.b:2(int) t.public.abc.c:3(int)
 │    ├── stats: [rows=1000, distinct(1-3)=1000, null(1-3)=0.001]
 │    ├── cost: 1098.72
 │    ├── ordering: +1,+2,+3
 │    ├── prune: (1-3)
 │    └── interesting orderings: (+1,+2,+3)
 └── sort
      ├── columns: t.public.def.d:7(int) t.public.def.e:8(int) t.public.def.f:9(int)
      ├── stats: [rows=1000, distinct(7-9)=1000, null(7-9)=0.001]
      ├── cost: 1360.2643
      ├── ordering: +7,+8,+9
      ├── prune: (7-9)
      └── scan t.public.def
           ├── columns: t.public.def.d:7(int) t.public.def.e:8(int) t.public.def.f:9(int)
           ├── stats: [rows=1000, distinct(7-9)=1000, null(7-9)=0.001]
           ├── cost: 1098.72
           └── prune: (7-9)

expr
(Intersect
  (Scan [ (Table "abc") (Index "abc@abc_idx") (Cols "a,b,c") ])
  (Scan [ (Table "def") (Cols "d,e,f") ])
  [
    (LeftCols "a,b,c")
    (RightCols "d,e,f")
    (OutCols "a,b,c")
  ]
)
----
intersect
 ├── columns: t.public.abc.a:1(int) t.public.abc.b:2(int) t.public.abc.c:3(int)
 ├── left columns: t.public.abc.a:1(int) t.public.abc.b:2(int) t.public.abc.c:3(int)
 ├── right columns: t.public.def.d:7(int) t.public.def.e:8(int) t.public.def.f:9(int)
 ├── stats: [rows=1000, distinct(1-3)=1000, null(1-3)=0.001]
 ├── cost: 2227.89875
 ├── key: (1-3)
 ├── interesting orderings: (+1,+2,+3)
 ├── scan t.public.abc@abc_idx
 │    ├── columns: t.public.abc.a:1(int) t.public.abc.b:2(int) t.public.abc.c:3(int)
 │    ├── stats: [rows=1000, distinct(1-3)=1000, null(1-3)=0.001]
 │    ├── cost: 1098.72
 │    ├── prune: (1-3)
 │    └── interesting orderings: (+1,+2,+3)
 └── scan t.public.def
      ├── columns: t.public.def.d:7(int) t.public.def.e:8(int) t.public.def.f:9(int)
      ├── stats: [rows=1000, distinct(7-9)=1000, null(7-9)=0.001]
      ├── cost: 1098.72
      └── prune: (7-9)
