This is an automated email from the ASF dual-hosted git repository.
yuxia pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git
The following commit(s) were added to refs/heads/main by this push:
new c10232e1a [docs] update datatypes & paimon datatype mapping document (#2283)
c10232e1a is described below
commit c10232e1a4c9a164f64fcfcb1db40f622cf06c90
Author: Jackeyzhe <ja...@163.com>
AuthorDate: Sun Jan 4 20:53:16 2026 +0800
[docs] update datatypes & paimon datatype mapping document (#2283)
---
.../integrate-data-lakes/paimon.md | 38 ++++++++++---------
website/docs/table-design/data-types.md | 44 +++++++++++-----------
2 files changed, 43 insertions(+), 39 deletions(-)
diff --git a/website/docs/streaming-lakehouse/integrate-data-lakes/paimon.md b/website/docs/streaming-lakehouse/integrate-data-lakes/paimon.md
index cba9def87..8cfe2aec5 100644
--- a/website/docs/streaming-lakehouse/integrate-data-lakes/paimon.md
+++ b/website/docs/streaming-lakehouse/integrate-data-lakes/paimon.md
@@ -157,24 +157,26 @@ SELECT * FROM paimon_catalog.fluss.enriched_orders$snapshots;
When integrating with Paimon, Fluss automatically converts between Fluss data types and Paimon data types.
The following table shows the mapping between [Fluss data types](table-design/data-types.md) and Paimon data types:
-| Fluss Data Type | Paimon Data Type |
-|-------------------------------|-------------------------------|
-| BOOLEAN | BOOLEAN |
-| TINYINT | TINYINT |
-| SMALLINT | SMALLINT |
-| INT | INT |
-| BIGINT | BIGINT |
-| FLOAT | FLOAT |
-| DOUBLE | DOUBLE |
-| DECIMAL | DECIMAL |
-| STRING | STRING |
-| CHAR | CHAR |
-| DATE | DATE |
-| TIME | TIME |
-| TIMESTAMP | TIMESTAMP |
-| TIMESTAMP WITH LOCAL TIMEZONE | TIMESTAMP WITH LOCAL TIMEZONE |
-| BINARY | BINARY |
-| BYTES | BYTES |
+| Fluss Data Type | Paimon Data Type |
+|-----------------------------------------------------------------|-----------------------------------------------------------------|
+| BOOLEAN | BOOLEAN |
+| TINYINT | TINYINT |
+| SMALLINT | SMALLINT |
+| INT | INT |
+| BIGINT | BIGINT |
+| FLOAT | FLOAT |
+| DOUBLE | DOUBLE |
+| DECIMAL | DECIMAL |
+| STRING | STRING |
+| CHAR | CHAR |
+| DATE | DATE |
+| TIME | TIME |
+| TIMESTAMP | TIMESTAMP |
+| TIMESTAMP WITH LOCAL TIMEZONE | TIMESTAMP WITH LOCAL TIMEZONE |
+| BINARY | BINARY |
+| BYTES | BYTES |
+| ARRAY\<t\> | ARRAY\<t\> |
+| ROW\<n0 t0, n1 t1, ...\><br/>ROW\<n0 t0 'd0', n1 t1 'd1', ...\> | ROW\<n0 t0, n1 t1, ...\><br/>ROW\<n0 t0 'd0', n1 t1 'd1', ...\> |
## Snapshot Metadata
diff --git a/website/docs/table-design/data-types.md b/website/docs/table-design/data-types.md
index 0cbf9b9e6..cb01e973e 100644
--- a/website/docs/table-design/data-types.md
+++ b/website/docs/table-design/data-types.md
@@ -7,25 +7,27 @@ sidebar_position: 10
Fluss has a rich set of native data types available to users. All the data types of Fluss are as follows:
-| DataType | Description [...]
-|--------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
-| BOOLEAN | A boolean with a (possibly) three-valued logic of TRUE, FALSE, UNKNOWN. [...]
-| TINYINT | A 1-byte signed integer with values from -128 to 127. [...]
-| SMALLINT | A 2-byte signed integer with values from -32,768 to 32,767. [...]
-| INT | A 4-byte signed integer with values from -2,147,483,648 to 2,147,483,647. [...]
-| BIGINT | An 8-byte signed integer with values from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. [...]
-| FLOAT | A 4-byte single precision floating point number. [...]
-| DOUBLE | An 8-byte double precision floating point number. [...]
-| CHAR(n) | A fixed-length character string where n is the number of code points. n must have a value between 1 and Integer.MAX_VALUE (both inclusive). [...]
-| STRING | A variable-length character string. [...]
-| DECIMAL(p, s) | A decimal number with fixed precision and scale where p is the number of digits in a number (=precision) and s is the number of digits to the right of the decimal point in a number (=scale). p must have a value between 1 and 38 (both inclusive). s must have a value between 0 and p (both inclusive). [...]
-| DATE | A date consisting of year-month-day with values ranging from 0000-01-01 to 9999-12-31. <br/>Compared to the SQL standard, the range starts at year 0000. [...]
-| TIME | A time WITHOUT time zone with no fractional seconds by default. <br/> An instance consists of `hour:minute:second` with up to second precision and values ranging from 00:00:00 to 23:59:59. <br/>Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are closer to java.time.LocalTime. A time WITH time zone is not provided. [...]
-| TIME(p) | A time WITHOUT time zone where p is the number of digits of fractional seconds (=precision). p must have a value between 0 and 9 (both inclusive).<br/> An instance consists of `hour:minute:second[.fractional]` with up to nanosecond precision and values ranging from 00:00:00.000000000 to 23:59:59.999999999. <br/>Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics [...]
-| TIMESTAMP | A timestamp WITHOUT time zone with 6 digits of fractional seconds by default.<br/> An instance consists of `year-month-day hour:minute:second[.fractional]` with up to microsecond precision and values ranging from 0000-01-01 00:00:00.000000 to 9999-12-31 23:59:59.999999. <br/>Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are closer to java.time.LocalDateTime [...]
-| TIMESTAMP(p) | A timestamp WITHOUT time zone where p is the number of digits of fractional seconds (=precision). p must have a value between 0 and 9 (both inclusive). <br/>An instance consists of `year-month-day hour:minute:second[.fractional]` with up to nanosecond precision and values ranging from 0000-01-01 00:00:00.000000000 to 9999-12-31 23:59:59.999999999.<br/>Compared to the SQL standard, leap seconds (23:59:60 and 23:5 [...]
-| TIMESTAMP_LTZ | A timestamp WITH local time zone `TIMESTAMP WITH LOCAL TIME ZONE` with 6 digits of fractional seconds by default. <br/>An instance consists of `year-month-day hour:minute:second[.fractional]` zone with up to microsecond precision and values ranging from 0000-01-01 00:00:00.000000 to 9999-12-31 23:59:59.999999. <br/> Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the seman [...]
-| TIMESTAMP_LTZ(p) | A timestamp WITH local time zone `TIMESTAMP WITH LOCAL TIME ZONE` where p is the number of digits of fractional seconds (=precision). p must have a value between 0 and 9 (both inclusive). <br/>An instance consists of `year-month-day hour:minute:second[.fractional]` with up to nanosecond precision and values ranging from 0000-01-01 00:00:00.000000000 to 9999-12-31 23:59:59.999999999. <br/> Compared to the SQL sta [...]
-| BINARY(n) | A fixed-length binary string (=a sequence of bytes) where n is the number of bytes. n must have a value between 1 and Integer.MAX_VALUE (both inclusive). [...]
-| BYTES | A variable-length binary string (=a sequence of bytes). [...]
+| DataType | Description [...]
+|-----------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
+| BOOLEAN | A boolean with a (possibly) three-valued logic of TRUE, FALSE, UNKNOWN. [...]
+| TINYINT | A 1-byte signed integer with values from -128 to 127. [...]
+| SMALLINT | A 2-byte signed integer with values from -32,768 to 32,767. [...]
+| INT | A 4-byte signed integer with values from -2,147,483,648 to 2,147,483,647. [...]
+| BIGINT | An 8-byte signed integer with values from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. [...]
+| FLOAT | A 4-byte single precision floating point number. [...]
+| DOUBLE | An 8-byte double precision floating point number. [...]
+| CHAR(n) | A fixed-length character string where n is the number of code points. n must have a value between 1 and Integer.MAX_VALUE (both inclusive). [...]
+| STRING | A variable-length character string. [...]
+| DECIMAL(p, s) | A decimal number with fixed precision and scale where p is the number of digits in a number (=precision) and s is the number of digits to the right of the decimal point in a number (=scale). p must have a value between 1 and 38 (both inclusive). s must have a value between 0 and p (both inclusive). [...]
+| DATE | A date consisting of year-month-day with values ranging from 0000-01-01 to 9999-12-31. <br/>Compared to the SQL standard, the range starts at year 0000. [...]
+| TIME | A time WITHOUT time zone with no fractional seconds by default. <br/> An instance consists of `hour:minute:second` with up to second precision and values ranging from 00:00:00 to 23:59:59. <br/>Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are closer to java.time.LocalTime. A time WITH time zone is not provided. [...]
+| TIME(p) | A time WITHOUT time zone where p is the number of digits of fractional seconds (=precision). p must have a value between 0 and 9 (both inclusive).<br/> An instance consists of `hour:minute:second[.fractional]` with up to nanosecond precision and values ranging from 00:00:00.000000000 to 23:59:59.999999999. <br/>Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are close [...]
+| TIMESTAMP | A timestamp WITHOUT time zone with 6 digits of fractional seconds by default.<br/> An instance consists of `year-month-day hour:minute:second[.fractional]` with up to microsecond precision and values ranging from 0000-01-01 00:00:00.000000 to 9999-12-31 23:59:59.999999. <br/>Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are closer to java.time.LocalDateTime. [...]
+| TIMESTAMP(p) | A timestamp WITHOUT time zone where p is the number of digits of fractional seconds (=precision). p must have a value between 0 and 9 (both inclusive). <br/>An instance consists of `year-month-day hour:minute:second[.fractional]` with up to nanosecond precision and values ranging from 0000-01-01 00:00:00.000000000 to 9999-12-31 23:59:59.999999999.<br/>Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are [...]
+| TIMESTAMP_LTZ | A timestamp WITH local time zone `TIMESTAMP WITH LOCAL TIME ZONE` with 6 digits of fractional seconds by default. <br/>An instance consists of `year-month-day hour:minute:second[.fractional]` zone with up to microsecond precision and values ranging from 0000-01-01 00:00:00.000000 to 9999-12-31 23:59:59.999999. <br/> Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are [...]
+| TIMESTAMP_LTZ(p) | A timestamp WITH local time zone `TIMESTAMP WITH LOCAL TIME ZONE` where p is the number of digits of fractional seconds (=precision). p must have a value between 0 and 9 (both inclusive). <br/>An instance consists of `year-month-day hour:minute:second[.fractional]` with up to nanosecond precision and values ranging from 0000-01-01 00:00:00.000000000 to 9999-12-31 23:59:59.999999999. <br/> Compared to the SQL standard, le [...]
+| BINARY(n) | A fixed-length binary string (=a sequence of bytes) where n is the number of bytes. n must have a value between 1 and Integer.MAX_VALUE (both inclusive). [...]
+| BYTES | A variable-length binary string (=a sequence of bytes). [...]
+| ARRAY\<t\> | An array of elements with same subtype. <br/>Compared to the SQL standard, the maximum cardinality of an array cannot be specified but is fixed at 2,147,483,647. Also, any valid type is supported as a subtype.<br/>The type can be declared using ARRAY\<t\> where t is the data type of the contained elements. [...]
+| ROW\<n0 t0, n1 t1, ...\><br/>ROW\<n0 t0 'd0', n1 t1 'd1', ...\> | A sequence of fields. <br/>A field consists of a field name, field type, and an optional description. The most specific type of a row of a table is a row type. In this case, each column of the row corresponds to the field of the row type that has the same ordinal position as the column. <br/>Compared to the SQL standard, an optional field description simplifies the handling with complex structures. <br/>A row type is sim [...]