The GitHub Actions job "Required Checks" on 
texera.git/gh-readonly-queue/main/pr-5845-6d31f46ecfe894fb04f783972c8f9566afb5a16b
 has succeeded.
Run started by GitHub user xuang7 (triggered by xuang7).

Head commit for run:
58824343dfd0f25ba9b79f34017743d6b3cdcdf3 / Xinyuan Lin <[email protected]>
test(workflow-operator): add unit test coverage for IntervalJoin, JoinUtils, 
and OperatorGroupConstants (#5845)

### What changes were proposed in this PR?

Pin behavior of three join/utility classes in
`common/workflow-operator/`. No production-code changes.

| Spec | Source class | Tests |
| --- | --- | --- |
| `IntervalJoinOpDescSpec` | `IntervalJoinOpDesc` | 5 |
| `JoinUtilsSpec` | `JoinUtils` (object) | 3 |
| `OperatorGroupConstantsSpec` | `OperatorGroupConstants` (object) | 4 |

**Behavior pinned — `IntervalJoinOpDesc`**

| Surface | Contract |
| --- | --- |
| `operatorInfo` | `Interval Join`, JOIN_GROUP; two ordered inputs
(`left table` at `PortIdentity()`, `right table` at `PortIdentity(1)`
depending on the left); one output |
| Field defaults | join-key attrs `null`; `constant == 10`;
`includeLeftBound`/`includeRightBound == true` |
| `getPhysicalOp` | wires `IntervalJoinOpExec`; port identities carried;
`HashPartition` requirement on each join key |
| Schema propagation | merges left ⧺ right schemas, suffixing a
conflicting attribute with `#@1` |

**Behavior pinned — `JoinUtils.joinTuples`**

| Surface | Contract |
| --- | --- |
| Concatenation | left + right fields merged |
| Skip | the named join-key attribute is dropped from the right side |
| Conflict rename | a right-side name collision is renamed with a `#@1`
suffix |

**Behavior pinned — `OperatorGroupConstants`**

| Surface | Contract |
| --- | --- |
| Constant values | the canonical group-name strings (`Data Input`,
`Join`, `Set`, … `Control Block`) |
| `OperatorGroupOrderList` | starts at `Data Input`, ends at `Control
Block`; relational subgroups (Join/Set/Aggregate/Sort) nested under
`Data Cleaning`; visualization subgroups nested under `Visualization` in
panel order |

### Any related issues, documentation, discussions?

Closes #5840.

### How was this PR tested?

- `sbt "WorkflowOperator/testOnly
org.apache.texera.amber.operator.intervalJoin.IntervalJoinOpDescSpec
org.apache.texera.amber.operator.hashJoin.JoinUtilsSpec
org.apache.texera.amber.operator.metadata.OperatorGroupConstantsSpec"` —
12 tests, all green
- `sbt "WorkflowOperator/Test/scalafmtCheck"` and `sbt
"WorkflowOperator/Test/scalafix --check"` — clean
- CI to confirm

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Opus 4.8 [1M context])

Report URL: https://github.com/apache/texera/actions/runs/27896423694

With regards,
GitHub Actions via GitBox

Reply via email to