I wasn't sure about the organization/place of some parts since it's not physically under Expression, but there's a lot in common, even highlighted in the proto:
// This message mirrors the WindowFunction message but removes the fields defining the partition,
// sorts, and bounds, since those must be consistent across the various functions in this rel. Refer
// to the WindowFunction message for a description of these fields.
So I tried to keep it as a new base class, but tried to keep the converters as close as they were to make it more concise + simplifying reuse.
Adding the POJO for ConsistentPartitionWindowRel and WindowRelFunction: https://github.com/substrait-io/substrait/blob/main/proto/substrait/algebra.proto#L233-L267
I wasn't sure about the organization/place of some parts since it's not physically under
Expression
, but there's a lot in common, even highlighted in the proto:So I tried to keep it as a new base class, but tried to keep the converters as close as they were to make it more concise + simplifying reuse.
I'll have an Isthmus change following (this is essentially a cleanup / split of https://github.com/substrait-io/substrait-java/pull/228), and @vbarua rightfully suggested breaking it down.