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

   ### What changes were proposed in this pull request?
   
   Twelve column pickers across ten operators consume their column as a 
quantity or an instant but declared no `attributeTypeRules`. Each now declares 
what it requires, the way Bar Chart, Pie Chart, Hierarchy Chart, ECDF Plot and 
Quiver Plot already do, and the way Gantt Chart declares `timestamp` for its 
two ends.
   
   | Operator | Columns | Declared |
   | --- | --- | --- |
   | Contour Plot | `x`, `y`, `z` | numeric |
   | Dendrogram | `xVal`, `yVal` | numeric |
   | Ternary Contour | the three variables and the measured value | numeric |
   | Volcano Plot | `effectColumn`, `pvalueColumn` | numeric |
   | Parallel Coordinates | `color` | numeric or boolean |
   | Waterfall Chart | `yColumn` | numeric |
   | Bullet Chart | `value` | numeric |
   | Carpet Plot | `a`, `b`, `y` | numeric |
   | Polar Chart | `r`, `theta` | numeric |
   | Ternary Plot | the three variables | numeric |
   | Time Series | `timeColumn` / `valueColumn` | timestamp / numeric |
   
   Waterfall's `xColumn` and Time Series' category and facet columns are 
deliberately left alone: those are labels and grouping keys, and a column of 
years or ids is a legitimate choice for them.
   
   ### Why are the changes needed?
   
   Generating each operator's module on `main` and executing it against a 
six-row frame whose selected column is a STRING attribute: Contour, Dendrogram, 
Ternary Contour, Volcano and Parallel Coordinates fail the run; Waterfall fails 
on `f"{v:+}"`; Bullet, Carpet and Polar render an error page; Time Series' 
`timeColumn` reports `Table became empty after filtering`, which never says the 
column was not a time column; and Ternary Plot and Time Series' `valueColumn` 
**render a finished-looking chart that means nothing**.
   
   Polar Chart is the clearest of them: it already checks `np.issubdtype(..., 
np.number)` and renders a message, so the operator had decided the column must 
be numeric and only the form did not know.
   
   ### Does this PR introduce any user-facing change?
   
   Yes — selecting a column of the wrong type for these fields now shows a type 
warning in the form instead of failing, or silently misdrawing, at run time. 
Nothing changes for a column of the right type.
   
   Two of the twelve are a judgement rather than an observed failure: Ternary 
Plot's variables and Time Series' `valueColumn` render without error, so 
constraining them says a text column is not a meaningful ternary proportion or 
measurement. If you would rather leave those two unconstrained, they can be 
dropped without touching the rest.
   
   ### How was this patch tested?
   
   `WorkflowOperator/compile`, `scalafmtCheckAll`, and the eleven operators' 
descriptor specs (64 tests). Each rule was also read back out of the generated 
schema and its keys checked against the declared property names — all 
twenty-two match, so none can silently no-op the way #7210 describes.
   
   Closes #7250
   
   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