You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by gi...@apache.org on 2026/08/20 01:01:01 UTC

(datafusion) branch asf-site updated: Publish built docs triggered by 733b195726e0c19007893e8a543aa7c8e7367026

This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new a0cb7b3bfa Publish built docs triggered by 733b195726e0c19007893e8a543aa7c8e7367026
a0cb7b3bfa is described below

commit a0cb7b3bfa6c475ea6abb3fa0399451808e855c0
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Thu Aug 20 01:00:56 2026 +0000

    Publish built docs triggered by 733b195726e0c19007893e8a543aa7c8e7367026
---
 _sources/user-guide/sql/data_types.md.txt |  81 ++++++++++++++--------
 searchindex.js                            |   2 +-
 user-guide/sql/data_types.html            | 109 ++++++++++++++++++++----------
 user-guide/sql/index.html                 |   1 +
 4 files changed, 126 insertions(+), 67 deletions(-)

diff --git a/_sources/user-guide/sql/data_types.md.txt b/_sources/user-guide/sql/data_types.md.txt
index 502193df41..2e75fce6c7 100644
--- a/_sources/user-guide/sql/data_types.md.txt
+++ b/_sources/user-guide/sql/data_types.md.txt
@@ -21,7 +21,7 @@
 
 DataFusion uses Arrow, and thus the Arrow type system, for query
 execution. The SQL types from
-[sqlparser-rs](https://github.com/sqlparser-rs/sqlparser-rs/blob/main/src/ast/data_type.rs#L27)
+[sqlparser-rs](https://github.com/sqlparser-rs/sqlparser-rs/blob/main/src/ast/data_type.rs#L49)
 are mapped to [Arrow data types](https://docs.rs/arrow/latest/arrow/datatypes/enum.DataType.html) according to the following table.
 This mapping occurs when defining the schema in a `CREATE EXTERNAL TABLE` command or when performing a SQL `CAST` operation.
 
@@ -67,32 +67,39 @@ select arrow_cast(now(), 'Timestamp(Second, None)') as "now()";
 
 ## Character Types
 
-| SQL DataType | Arrow DataType |
-| ------------ | -------------- |
-| `CHAR`       | `Utf8View`     |
-| `VARCHAR`    | `Utf8View`     |
-| `TEXT`       | `Utf8View`     |
-| `STRING`     | `Utf8View`     |
+| SQL DataType        | Arrow DataType |
+| ------------------- | -------------- |
+| `CHAR`              | `Utf8View`     |
+| `VARCHAR`           | `Utf8View`     |
+| `TEXT`              | `Utf8View`     |
+| `STRING`            | `Utf8View`     |
+| `CHARACTER VARYING` | `Utf8View`     |
+| `CHAR VARYING`      | `Utf8View`     |
+| `NVARCHAR`          | `Utf8View`     |
 
 By default, string types are mapped to `Utf8View`. This can be configured using the `datafusion.sql_parser.map_string_types_to_utf8view` setting. When set to `false`, string types are mapped to `Utf8` instead.
 
+Note that `CHAR`, `VARCHAR`, `STRING`, `CHARACTER VARYING`, `CHAR VARYING`, and `NVARCHAR` can
+optionally receive the maximum length (e.g., `VARCHAR(n)`). However, this limit is ignored. To raise
+an error when the length is passed, set `datafusion.sql_parser.support_varchar_with_length` to
+`false`.
+
 ## Numeric Types
 
-| SQL DataType                                     | Arrow DataType                 |
-| ------------------------------------------------ | :----------------------------- |
-| `TINYINT`                                        | `Int8`                         |
-| `SMALLINT`                                       | `Int16`                        |
-| `INT` or `INTEGER`                               | `Int32`                        |
-| `BIGINT`                                         | `Int64`                        |
-| `TINYINT UNSIGNED`                               | `UInt8`                        |
-| `SMALLINT UNSIGNED`                              | `UInt16`                       |
-| `INT UNSIGNED` or `INTEGER UNSIGNED`             | `UInt32`                       |
-| `BIGINT UNSIGNED`                                | `UInt64`                       |
-| `FLOAT`                                          | `Float32`                      |
-| `REAL`                                           | `Float32`                      |
-| `DOUBLE`                                         | `Float64`                      |
-| `DECIMAL(precision, scale)` where precision ≤ 38 | `Decimal128(precision, scale)` |
-| `DECIMAL(precision, scale)` where precision > 38 | `Decimal256(precision, scale)` |
+| SQL DataType                                                                  | Arrow DataType                 |
+| ----------------------------------------------------------------------------- | :----------------------------- |
+| `TINYINT`                                                                     | `Int8`                         |
+| `SMALLINT` or `INT2`                                                          | `Int16`                        |
+| `INT` or `INTEGER` or `INT4`                                                  | `Int32`                        |
+| `BIGINT` or `INT8`                                                            | `Int64`                        |
+| `TINYINT UNSIGNED` or `UTINYINT`                                              | `UInt8`                        |
+| `SMALLINT UNSIGNED` or `INT2 UNSIGNED` or `USMALLINT`                         | `UInt16`                       |
+| `INT UNSIGNED` or `INTEGER UNSIGNED` or `INT4 UNSIGNED`                       | `UInt32`                       |
+| `BIGINT UNSIGNED` or `INT8 UNSIGNED` or `UBIGINT`                             | `UInt64`                       |
+| `FLOAT` or `FLOAT4` or `REAL`                                                 | `Float32`                      |
+| `DOUBLE` or `DOUBLE PRECISION` or `FLOAT8`                                    | `Float64`                      |
+| `DECIMAL(precision, scale) or NUMERIC(precision, scale)` where precision ≤ 38 | `Decimal128(precision, scale)` |
+| `DECIMAL(precision, scale) or NUMERIC(precision, scale)` where precision > 38 | `Decimal256(precision, scale)` |
 
 The maximum supported precision for `DECIMAL` types is 76.
 
@@ -107,32 +114,46 @@ The maximum supported precision for `DECIMAL` types is 76.
 
 ## Boolean Types
 
-| SQL DataType | Arrow DataType |
-| ------------ | :------------- |
-| `BOOLEAN`    | `Boolean`      |
+| SQL DataType        | Arrow DataType |
+| ------------------- | :------------- |
+| `BOOLEAN` or `BOOL` | `Boolean`      |
 
 ## Binary Types
 
 | SQL DataType | Arrow DataType |
 | ------------ | :------------- |
 | `BYTEA`      | `Binary`       |
+| `BLOB`       | `Binary`       |
+| `BINARY`     | `Binary`       |
+| `VARBINARY`  | `Binary`       |
+| `BYTES`      | `Binary`       |
 
 You can create binary literals using a hex string literal such as
 `X'1234'` to create a `Binary` value of two bytes, `0x12` and `0x34`.
 
+## Nested Types
+
+| SQL DataType                      | Arrow DataType                  |
+| --------------------------------- | :------------------------------ |
+| `ARRAY<T>` or `T[]`               | `List(T)`                       |
+| `T[n]`                            | `FixedSizeList(n x T)`          |
+| `MAP(k, v)`                       | `Map(k, v)`                     |
+| `STRUCT<[c0] T0[, ..., [cn] Tn]>` | `Struct(c0: T0[, ..., cn: Tn])` |
+
+While columns defined with `STRUCT` require all rows to have the same schema, `MAP` imposes no such
+restriction.
+
+Also note that `STRUCT` can be declared without defining the field names. In that case, they will be
+set to `c0`, `c1`, ..., `cn`.
+
 ## Unsupported SQL Types
 
 | SQL Data Type | Arrow DataType      |
 | ------------- | :------------------ |
 | `UUID`        | _Not yet supported_ |
-| `BLOB`        | _Not yet supported_ |
 | `CLOB`        | _Not yet supported_ |
-| `BINARY`      | _Not yet supported_ |
-| `VARBINARY`   | _Not yet supported_ |
 | `REGCLASS`    | _Not yet supported_ |
-| `NVARCHAR`    | _Not yet supported_ |
 | `CUSTOM`      | _Not yet supported_ |
-| `ARRAY`       | _Not yet supported_ |
 | `ENUM`        | _Not yet supported_ |
 | `SET`         | _Not yet supported_ |
 | `DATETIME`    | _Not yet supported_ |
diff --git a/searchindex.js b/searchindex.js
index 62b0461e3c..cce87d7ea2 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[76,"op-neq"]],"!~":[[76,"op-re-not-match"]],"!~*":[[76,"op-re-not-match-i"]],"!~~":[[76,"id19"]],"!~~*":[[76,"id20"]],"#":[[76,"op-bit-xor"]],"%":[[76,"op-modulo"]],"&":[[76,"op-bit-and"]],"(relation, name) tuples in logical fields and logical columns are unique":[[16,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[76,"op-multiply"]],"+":[[76,"op-plus"]],"-":[[76,"op-minus"]],"/":[[76,"op-divide"]],"1. Array Literal Con [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[76,"op-neq"]],"!~":[[76,"op-re-not-match"]],"!~*":[[76,"op-re-not-match-i"]],"!~~":[[76,"id19"]],"!~~*":[[76,"id20"]],"#":[[76,"op-bit-xor"]],"%":[[76,"op-modulo"]],"&":[[76,"op-bit-and"]],"(relation, name) tuples in logical fields and logical columns are unique":[[16,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[76,"op-multiply"]],"+":[[76,"op-plus"]],"-":[[76,"op-minus"]],"/":[[76,"op-divide"]],"1. Array Literal Con [...]
\ No newline at end of file
diff --git a/user-guide/sql/data_types.html b/user-guide/sql/data_types.html
index 96aac48c9d..7eace0b5d8 100644
--- a/user-guide/sql/data_types.html
+++ b/user-guide/sql/data_types.html
@@ -452,7 +452,7 @@
 <h1>Data Types<a class="headerlink" href="#data-types" title="Link to this heading">#</a></h1>
 <p>DataFusion uses Arrow, and thus the Arrow type system, for query
 execution. The SQL types from
-<a class="reference external" href="https://github.com/sqlparser-rs/sqlparser-rs/blob/main/src/ast/data_type.rs#L27">sqlparser-rs</a>
+<a class="reference external" href="https://github.com/sqlparser-rs/sqlparser-rs/blob/main/src/ast/data_type.rs#L49">sqlparser-rs</a>
 are mapped to <a class="reference external" href="https://docs.rs/arrow/latest/arrow/datatypes/enum.DataType.html">Arrow data types</a> according to the following table.
 This mapping occurs when defining the schema in a <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">EXTERNAL</span> <span class="pre">TABLE</span></code> command or when performing a SQL <code class="docutils literal notranslate"><span class="pre">CAST</span></code> operation.</p>
 <p>For background on extension types and custom metadata, see the
@@ -507,10 +507,23 @@ For example, to cast the output of <code class="docutils literal notranslate"><s
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">STRING</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">Utf8View</span></code></p></td>
 </tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CHARACTER</span> <span class="pre">VARYING</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">Utf8View</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CHAR</span> <span class="pre">VARYING</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">Utf8View</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">NVARCHAR</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">Utf8View</span></code></p></td>
+</tr>
 </tbody>
 </table>
 </div>
 <p>By default, string types are mapped to <code class="docutils literal notranslate"><span class="pre">Utf8View</span></code>. This can be configured using the <code class="docutils literal notranslate"><span class="pre">datafusion.sql_parser.map_string_types_to_utf8view</span></code> setting. When set to <code class="docutils literal notranslate"><span class="pre">false</span></code>, string types are mapped to <code class="docutils literal notranslate"><span class="pre">Utf8</span></co [...]
+<p>Note that <code class="docutils literal notranslate"><span class="pre">CHAR</span></code>, <code class="docutils literal notranslate"><span class="pre">VARCHAR</span></code>, <code class="docutils literal notranslate"><span class="pre">STRING</span></code>, <code class="docutils literal notranslate"><span class="pre">CHARACTER</span> <span class="pre">VARYING</span></code>, <code class="docutils literal notranslate"><span class="pre">CHAR</span> <span class="pre">VARYING</span></code> [...]
+optionally receive the maximum length (e.g., <code class="docutils literal notranslate"><span class="pre">VARCHAR(n)</span></code>). However, this limit is ignored. To raise
+an error when the length is passed, set <code class="docutils literal notranslate"><span class="pre">datafusion.sql_parser.support_varchar_with_length</span></code> to
+<code class="docutils literal notranslate"><span class="pre">false</span></code>.</p>
 </section>
 <section id="numeric-types">
 <h2>Numeric Types<a class="headerlink" href="#numeric-types" title="Link to this heading">#</a></h2>
@@ -524,40 +537,37 @@ For example, to cast the output of <code class="docutils literal notranslate"><s
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">TINYINT</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Int8</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">SMALLINT</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">SMALLINT</span></code> or <code class="docutils literal notranslate"><span class="pre">INT2</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Int16</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INT</span></code> or <code class="docutils literal notranslate"><span class="pre">INTEGER</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INT</span></code> or <code class="docutils literal notranslate"><span class="pre">INTEGER</span></code> or <code class="docutils literal notranslate"><span class="pre">INT4</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Int32</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">BIGINT</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">BIGINT</span></code> or <code class="docutils literal notranslate"><span class="pre">INT8</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Int64</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">TINYINT</span> <span class="pre">UNSIGNED</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">TINYINT</span> <span class="pre">UNSIGNED</span></code> or <code class="docutils literal notranslate"><span class="pre">UTINYINT</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">UInt8</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">SMALLINT</span> <span class="pre">UNSIGNED</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">SMALLINT</span> <span class="pre">UNSIGNED</span></code> or <code class="docutils literal notranslate"><span class="pre">INT2</span> <span class="pre">UNSIGNED</span></code> or <code class="docutils literal notranslate"><span class="pre">USMALLINT</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">UInt16</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INT</span> <span class="pre">UNSIGNED</span></code> or <code class="docutils literal notranslate"><span class="pre">INTEGER</span> <span class="pre">UNSIGNED</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INT</span> <span class="pre">UNSIGNED</span></code> or <code class="docutils literal notranslate"><span class="pre">INTEGER</span> <span class="pre">UNSIGNED</span></code> or <code class="docutils literal notranslate"><span class="pre">INT4</span> <span class="pre">UNSIGNED</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">UInt32</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">BIGINT</span> <span class="pre">UNSIGNED</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">BIGINT</span> <span class="pre">UNSIGNED</span></code> or <code class="docutils literal notranslate"><span class="pre">INT8</span> <span class="pre">UNSIGNED</span></code> or <code class="docutils literal notranslate"><span class="pre">UBIGINT</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">UInt64</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">FLOAT</span></code></p></td>
-<td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Float32</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">REAL</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">FLOAT</span></code> or <code class="docutils literal notranslate"><span class="pre">FLOAT4</span></code> or <code class="docutils literal notranslate"><span class="pre">REAL</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Float32</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DOUBLE</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">DOUBLE</span></code> or <code class="docutils literal notranslate"><span class="pre">DOUBLE</span> <span class="pre">PRECISION</span></code> or <code class="docutils literal notranslate"><span class="pre">FLOAT8</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Float64</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">DECIMAL(precision,</span> <span class="pre">scale)</span></code> where precision ≤ 38</p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DECIMAL(precision,</span> <span class="pre">scale)</span> <span class="pre">or</span> <span class="pre">NUMERIC(precision,</span> <span class="pre">scale)</span></code> where precision ≤ 38</p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Decimal128(precision,</span> <span class="pre">scale)</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DECIMAL(precision,</span> <span class="pre">scale)</span></code> where precision &gt; 38</p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">DECIMAL(precision,</span> <span class="pre">scale)</span> <span class="pre">or</span> <span class="pre">NUMERIC(precision,</span> <span class="pre">scale)</span></code> where precision &gt; 38</p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Decimal256(precision,</span> <span class="pre">scale)</span></code></p></td>
 </tr>
 </tbody>
@@ -599,7 +609,7 @@ For example, to cast the output of <code class="docutils literal notranslate"><s
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">BOOLEAN</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">BOOLEAN</span></code> or <code class="docutils literal notranslate"><span class="pre">BOOL</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Boolean</span></code></p></td>
 </tr>
 </tbody>
@@ -618,55 +628,81 @@ For example, to cast the output of <code class="docutils literal notranslate"><s
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">BYTEA</span></code></p></td>
 <td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Binary</span></code></p></td>
 </tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">BLOB</span></code></p></td>
+<td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Binary</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">BINARY</span></code></p></td>
+<td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Binary</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">VARBINARY</span></code></p></td>
+<td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Binary</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">BYTES</span></code></p></td>
+<td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Binary</span></code></p></td>
+</tr>
 </tbody>
 </table>
 </div>
 <p>You can create binary literals using a hex string literal such as
 <code class="docutils literal notranslate"><span class="pre">X'1234'</span></code> to create a <code class="docutils literal notranslate"><span class="pre">Binary</span></code> value of two bytes, <code class="docutils literal notranslate"><span class="pre">0x12</span></code> and <code class="docutils literal notranslate"><span class="pre">0x34</span></code>.</p>
 </section>
-<section id="unsupported-sql-types">
-<h2>Unsupported SQL Types<a class="headerlink" href="#unsupported-sql-types" title="Link to this heading">#</a></h2>
+<section id="nested-types">
+<h2>Nested Types<a class="headerlink" href="#nested-types" title="Link to this heading">#</a></h2>
 <div class="pst-scrollable-table-container"><table class="table">
 <thead>
-<tr class="row-odd"><th class="head"><p>SQL Data Type</p></th>
+<tr class="row-odd"><th class="head"><p>SQL DataType</p></th>
 <th class="head text-left"><p>Arrow DataType</p></th>
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">UUID</span></code></p></td>
-<td class="text-left"><p><em>Not yet supported</em></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ARRAY&lt;T&gt;</span></code> or <code class="docutils literal notranslate"><span class="pre">T[]</span></code></p></td>
+<td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">List(T)</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">BLOB</span></code></p></td>
-<td class="text-left"><p><em>Not yet supported</em></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">T[n]</span></code></p></td>
+<td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">FixedSizeList(n</span> <span class="pre">x</span> <span class="pre">T)</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CLOB</span></code></p></td>
-<td class="text-left"><p><em>Not yet supported</em></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">MAP(k,</span> <span class="pre">v)</span></code></p></td>
+<td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Map(k,</span> <span class="pre">v)</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">BINARY</span></code></p></td>
-<td class="text-left"><p><em>Not yet supported</em></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">STRUCT&lt;[c0]</span> <span class="pre">T0[,</span> <span class="pre">...,</span> <span class="pre">[cn]</span> <span class="pre">Tn]&gt;</span></code></p></td>
+<td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">Struct(c0:</span> <span class="pre">T0[,</span> <span class="pre">...,</span> <span class="pre">cn:</span> <span class="pre">Tn])</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">VARBINARY</span></code></p></td>
-<td class="text-left"><p><em>Not yet supported</em></p></td>
+</tbody>
+</table>
+</div>
+<p>While columns defined with <code class="docutils literal notranslate"><span class="pre">STRUCT</span></code> require all rows to have the same schema, <code class="docutils literal notranslate"><span class="pre">MAP</span></code> imposes no such
+restriction.</p>
+<p>Also note that <code class="docutils literal notranslate"><span class="pre">STRUCT</span></code> can be declared without defining the field names. In that case, they will be
+set to <code class="docutils literal notranslate"><span class="pre">c0</span></code>, <code class="docutils literal notranslate"><span class="pre">c1</span></code>, …, <code class="docutils literal notranslate"><span class="pre">cn</span></code>.</p>
+</section>
+<section id="unsupported-sql-types">
+<h2>Unsupported SQL Types<a class="headerlink" href="#unsupported-sql-types" title="Link to this heading">#</a></h2>
+<div class="pst-scrollable-table-container"><table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>SQL Data Type</p></th>
+<th class="head text-left"><p>Arrow DataType</p></th>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">REGCLASS</span></code></p></td>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">UUID</span></code></p></td>
 <td class="text-left"><p><em>Not yet supported</em></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">NVARCHAR</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CLOB</span></code></p></td>
 <td class="text-left"><p><em>Not yet supported</em></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CUSTOM</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">REGCLASS</span></code></p></td>
 <td class="text-left"><p><em>Not yet supported</em></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ARRAY</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CUSTOM</span></code></p></td>
 <td class="text-left"><p><em>Not yet supported</em></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ENUM</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ENUM</span></code></p></td>
 <td class="text-left"><p><em>Not yet supported</em></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">SET</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">SET</span></code></p></td>
 <td class="text-left"><p><em>Not yet supported</em></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">DATETIME</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DATETIME</span></code></p></td>
 <td class="text-left"><p><em>Not yet supported</em></p></td>
 </tr>
 </tbody>
@@ -727,6 +763,7 @@ For example, to cast the output of <code class="docutils literal notranslate"><s
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#date-time-types">Date/Time Types</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#boolean-types">Boolean Types</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#binary-types">Binary Types</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#nested-types">Nested Types</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#unsupported-sql-types">Unsupported SQL Types</a></li>
 </ul>
   </nav></div>
diff --git a/user-guide/sql/index.html b/user-guide/sql/index.html
index 841da9469d..9db2e8cde2 100644
--- a/user-guide/sql/index.html
+++ b/user-guide/sql/index.html
@@ -437,6 +437,7 @@
 <li class="toctree-l2"><a class="reference internal" href="data_types.html#date-time-types">Date/Time Types</a></li>
 <li class="toctree-l2"><a class="reference internal" href="data_types.html#boolean-types">Boolean Types</a></li>
 <li class="toctree-l2"><a class="reference internal" href="data_types.html#binary-types">Binary Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="data_types.html#nested-types">Nested Types</a></li>
 <li class="toctree-l2"><a class="reference internal" href="data_types.html#unsupported-sql-types">Unsupported SQL Types</a></li>
 </ul>
 </li>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org