kz930 opened a new pull request, #7566:
URL: https://github.com/apache/texera/pull/7566

   ### What changes were proposed in this PR?
   
   Substring Search and Unnest String both read their column and called 
`toString` on it with no null check, so one blank cell took the workflow down 
with a NullPointerException.
   
   An empty value is ordinary input here. A blank CSV cell arrives as null, 
since univocity returns null for an empty field and 
`AttributeTypeUtils.parseField` passes it through by design, its first line 
being `if (field == null) return null`.
   
   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, and Unnest String produces no rows, the same way its 
existing filter drops the empty pieces a run of delimiters produces.
   
   ### Any related issues, documentation, discussions?
   
   Closes #7548
   
   ### How was this PR tested?
   
   Each spec gains the case: `SubstringSearchOpExecSpec` covers an empty cell 
with an ordinary substring and with the empty substring, and 
`UnnestStringOpExecSpec` covers an empty cell. Both fail on the previous 
behavior, 15 passed / 3 failed before the change and 18 / 0 after.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Claude Opus 5)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to