Skip to content

Exported Python looks up a column with its exact case where the engine ignores case #9004

Closed

Description

@kz930

What happened?

The engine looks a column up by name ignoring case: Schema lowercases the name in getIndex, containsAttribute and remove, and Tuple.getField goes through it. #7929 brought Projection's drop mode onto the same rule. The exported Python indexes the pandas frame with the name as written, which is case-sensitive. So when an operator's setting names a column in a different case from the table, the workflow runs in Texera and the exported script stops with a KeyError.

This reaches every operator that names a column. On main, Projection (keep and drop) and Filter show it.

How to reproduce?

  1. Feed a table with a column name into Projection, and select Name. The engine keeps the column.
  2. Export the workflow as Python and run it on the same table. It raises KeyError: "None of [Index(['Name'], dtype='object')] are in the [columns]".
  3. Likewise, Filter with the predicate Name = a keeps the matching row in the engine and raises KeyError: 'Name' in the export.

A column picked from the editor's 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)

7426431

What browsers are you seeing the problem on?

No response

Relevant log output

KeyError: "None of [Index(['Name'], dtype='object')] are in the [columns]"

Activity

  1. added theissue type on Oct 15, 2026
  2. kz930 commented on Oct 19, 2026

    @kz930
    ContributorAuthor

    /take

  3. added a commit that references this issue on Oct 19, 2026
    7dc3d0f
  4. added a commit that references this issue on Nov 1, 2026
    f225ca5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions