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