Wouter Zorgdrager created FLINK-35112:
-----------------------------------------

             Summary: Membership for Row class does not include field names
                 Key: FLINK-35112
                 URL: https://issues.apache.org/jira/browse/FLINK-35112
             Project: Flink
          Issue Type: Bug
          Components: API / Python
    Affects Versions: 1.18.1
            Reporter: Wouter Zorgdrager


In the Row class in PyFlink I cannot do a membership check for field names. 
This minimal example will show the unexpected behavior:

```

from pyflink.common import Row

row = Row(name="Alice", age=11)
# Expected to be True, but is False
print("name" in row)

person = Row("name", "age")
# This is True, as expected
print('name' in person)

```

The related code in the Row class is:
```
    def __contains__(self, item):
        return item in self._values
```


It should be relatively easy to fix with the following code:
```
    def __contains__(self, item):
        if hasattr(self, "_fields"):
            return item in self._fields
        else:
            return item in self._values
```



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to