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 <[email protected]>
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 [...]
