You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by GitBox <gi...@apache.org> on 2025/10/17 23:08:13 UTC

[GH] (texera/main): Workflow run "Release Auditing" failed!

The GitHub Actions job "Release Auditing" on texera.git/main has failed.
Run started by GitHub user chenlica (triggered by chenlica).

Head commit for run:
2780caa2b3fbf73767430b25f148b2b07b2a3801 / carloea2 <ca...@uci.edu>
feat(operator): add Stable Incremental Merge Sort (Scala) (#3774)

**feat(operator): add Stable Merge Sort (Scala) with multi-key ordering,
nulls handling, and offset/limit (Closes #3763)**

---

## Summary

Adds a new **Stable Merge Sort** operator in Scala. Performs stable
per-partition sort with multiple keys and post-sort offset/limit.

**Closes #3763.**

### Highlights

* New files:

  * `StableMergeSortOpDesc.scala` – logical desc + JSON schema.
* `StableMergeSortOpExec.scala` – stable merge sort on buffered tuples.
  * `StableMergeSortOpExecSpec.scala` – tests.
* Features:

* Per-key options: `order: asc|desc`, `nulls: first|last`,
`caseInsensitive` (STRING only).
  * Supported types: STRING, INTEGER, LONG, DOUBLE, BOOLEAN, TIMESTAMP.
  * Stable ordering preserved for equal keys.
  * Offset/limit applied **after** sorting.

### Tests

* Asc/desc integers (stability).
* Case-sensitive vs case-insensitive strings.
* Nulls first/last.
* Multi-key across mixed types.
* Offset + limit.
* Missing attribute / unsupported type errors.
* Large input sanity.
* Buffers until `onFinish`.

### Example config

```json
{
  "keys": [
    { "attribute": "dept",  "order": "asc",  "nulls": "last" },
    { "attribute": "score", "order": "desc", "nulls": "last" },
    { "attribute": "name",  "order": "asc",  "nulls": "last", "caseInsensitive": true }
  ],
  "offset": 0,
  "limit": null
}
```
---

---------

Signed-off-by: carloea2 <ca...@uci.edu>

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

With regards,
GitHub Actions via GitBox