The GitHub Actions job "Benchmarks" on texera.git/fix/7548-null-cell-filters 
has succeeded.
Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).

Head commit for run:
c012a513a90e3c84249294477120018360f1c354 / kary zheng <[email protected]>
fix(workflow-operator): answer the filter on an empty cell instead of throwing

Substring Search and Unnest String both read their column and called toString on
it with no null check, so a single blank cell took the workflow down with a
NullPointerException.

An empty value is ordinary input here. A blank CSV cell arrives as null:
univocity returns null for an empty field, and AttributeTypeUtils.parseField
passes it through by design, its first line being `if (field == null) return
null`. So the null these two did not expect is the null the core layer promises
to deliver.

Both now skip, which is what the rest of the codebase does with a value that is
not there. FilterPredicate answers false for every condition but IS_NULL /
IS_NOT_NULL once a field is null. COUNT(column) counts only non-null rows, and
CONCAT and MIN pass over them. Twenty-four operators open their generated Python
with `dropna(subset=[...]) #remove missing values`. Substring Search filters the
row out; Unnest String produces no rows, the same way its existing filter drops
the empty pieces a run of delimiters produces.

Each spec gains the case; both fail on the previous behavior.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

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

With regards,
GitHub Actions via GitBox

Reply via email to