You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature] Support InternalRow#createFieldToString #4924
I searched in the issues and found nothing similar.
Motivation
Platform integrations need to display Fluss table data as human-readable strings, for example in a data preview or query result table.
Currently, InternalRow.createFieldGetter(DataType, int) returns values in Fluss's internal representation. Calling toString() on those values is not sufficient for all types: DATE and TIME are represented as integers, while binary and nested values require type-aware formatting. Each platform therefore has to implement its own conversion logic.
Solution
Add InternalRow#createFieldToString(DataType fieldType, int fieldPos) to create a reusable converter that reads a field from an InternalRow and renders it as a human-readable string, following the factory pattern of createFieldGetter.
The converter should:
Support the Fluss data types used in table schemas, including strings, numbers, decimals, temporal values, binary values, and nested ARRAY/MAP/ROW values.
Handle null fields and null values inside nested structures consistently.
Format dates and times as readable temporal values instead of their internal integer representation.
Define and document binary formatting, temporal precision/time-zone behavior, and null representation so platform integrations can rely on consistent output.
Allow converters to be created once from the schema and reused when displaying multiple rows.
Add tests for scalar, temporal, binary, null, and nested values, including consistent results across relevant InternalRow implementations.
@ss666 This issue is assigned to you. Please ensure that timestamp, date, time, and bytes types are converted to human-readable strings. For complex types such as array, map, and row, I recommend outputting them in JSON format to improve readability.
Activity
ss666 commentedon Oct 28, 2026
I'm willing to work on this one.
wuchong commentedon Oct 29, 2026
@ss666 This issue is assigned to you. Please ensure that timestamp, date, time, and bytes types are converted to human-readable strings. For complex types such as array, map, and row, I recommend outputting them in JSON format to improve readability.
wuchong commentedon Oct 29, 2026
For the implementation, please refer to
org.apache.flink.formats.json.RowDataToJsonConverters.