kz930 opened a new issue, #9036:
URL: https://github.com/apache/texera/issues/9036

   ### What happened?
   
   Most operators look a column up through `Schema`, which ignores case, so a 
setting that names `Name` reads the column `name`. Type Casting does not. 
`AttributeTypeUtils.SchemaCasting` compares `attr.getName == attribute` and 
`tupleCasting` looks the target type up in a map keyed by the exact name. A 
unit whose column differs from the table's only in case therefore casts 
nothing. The run succeeds and the column passes through with its old type and 
values, with no error to say the unit was ignored.
   
   A Filter or Projection naming the same column in the same case would work. 
So the behavior depends on which operator reads the name.
   
   A possible fix is to match the column through `Schema` in both 
`SchemaCasting` and `tupleCasting`, as the other operators do. The output 
should keep the table's column name: `SchemaCasting` currently rebuilds the 
column as `new Attribute(attribute, resultType)`, so only loosening the match 
would also rename the column to the setting's spelling. `SchemaCasting` is also 
used by Python Lambda Function, which would need to be checked with it. The 
export in #9035 matches today's exact-name behavior and would switch along with 
it.
   
   ### How to reproduce?
   
   1. Feed a table with an INTEGER column `n` into Type Casting, with one unit 
casting `N` to STRING.
   2. Run the workflow. The output schema still declares `n` as INTEGER and the 
values are unchanged.
   3. Cast `n` instead and the column becomes STRING.
   
   As with #9004, a column picked from the dropdown has the table's exact case, 
so this shows only for a hand-edited workflow, or after an upstream column 
changes case.
   
   ### Version/Branch
   
   1.4.0-incubating-SNAPSHOT (main)
   
   ### Commit Hash (Optional)
   
   a46ddc6eb
   
   ### What browsers are you seeing the problem on?
   
   _No response_
   
   ### Relevant log output
   
   ```shell
   None. The unit is skipped without an error.
   ```
   


-- 
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