Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
An additional change flag called `RowKind` was added to the `Row` type. This changed the serialization format and will trigger a state migration.
Description
In Blink planner, the change flag of records travelling through the pipeline are part of the record itself but not part of the logical schema. This simplifies the architecture and API in many cases.
Which is why we aim adopt the same mechanism for org.apache.flink.types.Row.
Take tableEnv.toRetractStream() as an example that returns either Scala or Java Tuple2<Boolean, Row>. For FLIP-95 we need to support more update kinds than just a binary boolean.
This means:
- Add a changeflag RowKind to to Row
- Update the Row.toString() method
- Update serializers in backwards compatible way
Attachments
Issue Links
- blocks
-
FLINK-14807 Add TableResult#collect api for fetching data to client
- Resolved
- is blocked by
-
FLINK-17520 Extend CompositeTypeSerializerSnapshot to allow composite serializers to signal migration based on outer configuration
- Closed
- links to