Sort: supplier.s_name ASC NULLS LAST
  Projection: supplier.s_name, supplier.s_address
    LeftSemi Join: supplier.s_suppkey = __correlated_sq_1.ps_suppkey
      Inner Join: supplier.s_nationkey = nation.n_nationkey
        TableScan: supplier projection=[s_suppkey, s_name, s_address, s_nationkey]
        Filter: nation.n_name = Utf8("CANADA")
          TableScan: nation projection=[n_nationkey, n_name]
      SubqueryAlias: __correlated_sq_1
        Projection: partsupp.ps_suppkey AS ps_suppkey
          Filter: CAST(partsupp.ps_availqty AS Float64) > __scalar_sq_1.__value
            Inner Join: partsupp.ps_partkey = __scalar_sq_1.l_partkey, partsupp.ps_suppkey = __scalar_sq_1.l_suppkey
              LeftSemi Join: partsupp.ps_partkey = __correlated_sq_2.p_partkey
                TableScan: partsupp projection=[ps_partkey, ps_suppkey, ps_availqty]
                SubqueryAlias: __correlated_sq_2
                  Projection: part.p_partkey AS p_partkey
                    Filter: part.p_name LIKE Utf8("forest%")
                      TableScan: part projection=[p_partkey, p_name]
              SubqueryAlias: __scalar_sq_1
                Projection: lineitem.l_partkey, lineitem.l_suppkey, Float64(0.5) * CAST(SUM(lineitem.l_quantity) AS Float64) AS __value
                  Aggregate: groupBy=[[lineitem.l_partkey, lineitem.l_suppkey]], aggr=[[SUM(lineitem.l_quantity)]]
                    Filter: lineitem.l_shipdate >= Date32("8766") AND lineitem.l_shipdate < Date32("9131")
                      TableScan: lineitem projection=[l_partkey, l_suppkey, l_quantity, l_shipdate]