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 > 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 > 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<T></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<[c0]</span> <span class="pre">T0[,</span> <span class="pre">...,</span> <span class="pre">[cn]</span> <span class="pre">Tn]></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