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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 3c36606d Publish built docs triggered by 
8e73f7cab5489d5918512b4ae206e39b96242320
3c36606d is described below

commit 3c36606d7ea4cb9300991739e08d74c5cd3ddbc3
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue May 7 04:42:16 2024 +0000

    Publish built docs triggered by 8e73f7cab5489d5918512b4ae206e39b96242320
---
 _sources/user-guide/compatibility-template.md.txt |  18 +-
 _sources/user-guide/compatibility.md.txt          | 203 +++++------
 searchindex.js                                    |   2 +-
 user-guide/compatibility-template.html            |  35 +-
 user-guide/compatibility.html                     | 405 ++++------------------
 5 files changed, 208 insertions(+), 455 deletions(-)

diff --git a/_sources/user-guide/compatibility-template.md.txt 
b/_sources/user-guide/compatibility-template.md.txt
index deaca2d2..64f87135 100644
--- a/_sources/user-guide/compatibility-template.md.txt
+++ b/_sources/user-guide/compatibility-template.md.txt
@@ -44,7 +44,19 @@ Cast operations in Comet fall into three levels of support:
 - **Unsupported**: Comet does not provide a native version of this cast 
expression and the query stage will fall back to
   Spark.
 
-The following table shows the current cast operations supported by Comet. Any 
cast that does not appear in this
-table (such as those involving complex types and timestamp_ntz, for example) 
are not supported by Comet.
+### Compatible Casts
 
-<!--CAST_TABLE-->
+The following cast operations are generally compatible with Spark except for 
the differences noted here.
+
+<!--COMPAT_CAST_TABLE-->
+
+### Incompatible Casts
+
+The following cast operations are not compatible with Spark for all inputs and 
are disabled by default.
+
+<!--INCOMPAT_CAST_TABLE-->
+
+### Unsupported Casts
+
+Any cast not listed in the previous tables is currently unsupported. We are 
working on adding more. See the 
+[tracking issue](https://github.com/apache/datafusion-comet/issues/286) for 
more details.
diff --git a/_sources/user-guide/compatibility.md.txt 
b/_sources/user-guide/compatibility.md.txt
index 9a2478d3..57a4271f 100644
--- a/_sources/user-guide/compatibility.md.txt
+++ b/_sources/user-guide/compatibility.md.txt
@@ -38,122 +38,89 @@ Cast operations in Comet fall into three levels of support:
 
 - **Compatible**: The results match Apache Spark
 - **Incompatible**: The results may match Apache Spark for some inputs, but 
there are known issues where some inputs
-  will result in incorrect results or exceptions. The query stage will fall 
back to Spark by default. Setting
-  `spark.comet.cast.allowIncompatible=true` will allow all incompatible casts 
to run natively in Comet, but this is not
-  recommended for production use.
+will result in incorrect results or exceptions. The query stage will fall back 
to Spark by default. Setting
+`spark.comet.cast.allowIncompatible=true` will allow all incompatible casts to 
run natively in Comet, but this is not
+recommended for production use.
 - **Unsupported**: Comet does not provide a native version of this cast 
expression and the query stage will fall back to
-  Spark.
-
-The following table shows the current cast operations supported by Comet. Any 
cast that does not appear in this
-table (such as those involving complex types and timestamp_ntz, for example) 
are not supported by Comet.
-
-| From Type | To Type   | Compatible?  | Notes                               |
-| --------- | --------- | ------------ | ----------------------------------- |
-| boolean   | byte      | Compatible   |                                     |
-| boolean   | short     | Compatible   |                                     |
-| boolean   | integer   | Compatible   |                                     |
-| boolean   | long      | Compatible   |                                     |
-| boolean   | float     | Compatible   |                                     |
-| boolean   | double    | Compatible   |                                     |
-| boolean   | decimal   | Unsupported  |                                     |
-| boolean   | string    | Compatible   |                                     |
-| boolean   | timestamp | Unsupported  |                                     |
-| byte      | boolean   | Compatible   |                                     |
-| byte      | short     | Compatible   |                                     |
-| byte      | integer   | Compatible   |                                     |
-| byte      | long      | Compatible   |                                     |
-| byte      | float     | Compatible   |                                     |
-| byte      | double    | Compatible   |                                     |
-| byte      | decimal   | Compatible   |                                     |
-| byte      | string    | Compatible   |                                     |
-| byte      | binary    | Unsupported  |                                     |
-| byte      | timestamp | Unsupported  |                                     |
-| short     | boolean   | Compatible   |                                     |
-| short     | byte      | Compatible   |                                     |
-| short     | integer   | Compatible   |                                     |
-| short     | long      | Compatible   |                                     |
-| short     | float     | Compatible   |                                     |
-| short     | double    | Compatible   |                                     |
-| short     | decimal   | Compatible   |                                     |
-| short     | string    | Compatible   |                                     |
-| short     | binary    | Unsupported  |                                     |
-| short     | timestamp | Unsupported  |                                     |
-| integer   | boolean   | Compatible   |                                     |
-| integer   | byte      | Compatible   |                                     |
-| integer   | short     | Compatible   |                                     |
-| integer   | long      | Compatible   |                                     |
-| integer   | float     | Compatible   |                                     |
-| integer   | double    | Compatible   |                                     |
-| integer   | decimal   | Compatible   |                                     |
-| integer   | string    | Compatible   |                                     |
-| integer   | binary    | Unsupported  |                                     |
-| integer   | timestamp | Unsupported  |                                     |
-| long      | boolean   | Compatible   |                                     |
-| long      | byte      | Compatible   |                                     |
-| long      | short     | Compatible   |                                     |
-| long      | integer   | Compatible   |                                     |
-| long      | float     | Compatible   |                                     |
-| long      | double    | Compatible   |                                     |
-| long      | decimal   | Compatible   |                                     |
-| long      | string    | Compatible   |                                     |
-| long      | binary    | Unsupported  |                                     |
-| long      | timestamp | Unsupported  |                                     |
-| float     | boolean   | Compatible   |                                     |
-| float     | byte      | Unsupported  |                                     |
-| float     | short     | Unsupported  |                                     |
-| float     | integer   | Unsupported  |                                     |
-| float     | long      | Unsupported  |                                     |
-| float     | double    | Compatible   |                                     |
-| float     | decimal   | Unsupported  |                                     |
-| float     | string    | Incompatible |                                     |
-| float     | timestamp | Unsupported  |                                     |
-| double    | boolean   | Compatible   |                                     |
-| double    | byte      | Unsupported  |                                     |
-| double    | short     | Unsupported  |                                     |
-| double    | integer   | Unsupported  |                                     |
-| double    | long      | Unsupported  |                                     |
-| double    | float     | Compatible   |                                     |
-| double    | decimal   | Incompatible |                                     |
-| double    | string    | Incompatible |                                     |
-| double    | timestamp | Unsupported  |                                     |
-| decimal   | boolean   | Unsupported  |                                     |
-| decimal   | byte      | Unsupported  |                                     |
-| decimal   | short     | Unsupported  |                                     |
-| decimal   | integer   | Unsupported  |                                     |
-| decimal   | long      | Unsupported  |                                     |
-| decimal   | float     | Compatible   |                                     |
-| decimal   | double    | Compatible   |                                     |
-| decimal   | string    | Unsupported  |                                     |
-| decimal   | timestamp | Unsupported  |                                     |
-| string    | boolean   | Compatible   |                                     |
-| string    | byte      | Compatible   |                                     |
-| string    | short     | Compatible   |                                     |
-| string    | integer   | Compatible   |                                     |
-| string    | long      | Compatible   |                                     |
-| string    | float     | Unsupported  |                                     |
-| string    | double    | Unsupported  |                                     |
-| string    | decimal   | Unsupported  |                                     |
-| string    | binary    | Compatible   |                                     |
-| string    | date      | Unsupported  |                                     |
-| string    | timestamp | Incompatible | Not all valid formats are supported |
-| binary    | string    | Incompatible |                                     |
-| date      | boolean   | Unsupported  |                                     |
-| date      | byte      | Unsupported  |                                     |
-| date      | short     | Unsupported  |                                     |
-| date      | integer   | Unsupported  |                                     |
-| date      | long      | Unsupported  |                                     |
-| date      | float     | Unsupported  |                                     |
-| date      | double    | Unsupported  |                                     |
-| date      | decimal   | Unsupported  |                                     |
-| date      | string    | Compatible   |                                     |
-| date      | timestamp | Unsupported  |                                     |
-| timestamp | boolean   | Unsupported  |                                     |
-| timestamp | byte      | Unsupported  |                                     |
-| timestamp | short     | Unsupported  |                                     |
-| timestamp | integer   | Unsupported  |                                     |
-| timestamp | long      | Compatible   |                                     |
-| timestamp | float     | Unsupported  |                                     |
-| timestamp | double    | Unsupported  |                                     |
-| timestamp | decimal   | Unsupported  |                                     |
-| timestamp | string    | Compatible   |                                     |
-| timestamp | date      | Compatible   |                                     |
+Spark.
+
+### Compatible Casts
+
+The following cast operations are generally compatible with Spark except for 
the differences noted here.
+
+| From Type | To Type | Notes |
+|-|-|-|
+| boolean | byte |  |
+| boolean | short |  |
+| boolean | integer |  |
+| boolean | long |  |
+| boolean | float |  |
+| boolean | double |  |
+| boolean | string |  |
+| byte | boolean |  |
+| byte | short |  |
+| byte | integer |  |
+| byte | long |  |
+| byte | float |  |
+| byte | double |  |
+| byte | decimal |  |
+| byte | string |  |
+| short | boolean |  |
+| short | byte |  |
+| short | integer |  |
+| short | long |  |
+| short | float |  |
+| short | double |  |
+| short | decimal |  |
+| short | string |  |
+| integer | boolean |  |
+| integer | byte |  |
+| integer | short |  |
+| integer | long |  |
+| integer | float |  |
+| integer | double |  |
+| integer | string |  |
+| long | boolean |  |
+| long | byte |  |
+| long | short |  |
+| long | integer |  |
+| long | float |  |
+| long | double |  |
+| long | string |  |
+| float | boolean |  |
+| float | double |  |
+| float | string | There can be differences in precision. For example, the 
input "1.4E-45" will produce 1.0E-45 instead of 1.4E-45 |
+| double | boolean |  |
+| double | float |  |
+| double | string | There can be differences in precision. For example, the 
input "1.4E-45" will produce 1.0E-45 instead of 1.4E-45 |
+| decimal | float |  |
+| decimal | double |  |
+| string | boolean |  |
+| string | byte |  |
+| string | short |  |
+| string | integer |  |
+| string | long |  |
+| string | binary |  |
+| date | string |  |
+| timestamp | long |  |
+| timestamp | decimal |  |
+| timestamp | string |  |
+| timestamp | date |  |
+
+### Incompatible Casts
+
+The following cast operations are not compatible with Spark for all inputs and 
are disabled by default.
+
+| From Type | To Type | Notes |
+|-|-|-|
+| integer | decimal  | No overflow check |
+| long | decimal  | No overflow check |
+| float | decimal  | No overflow check |
+| double | decimal  | No overflow check |
+| string | timestamp  | Not all valid formats are supported |
+| binary | string  | Only works for binary data representing valid UTF-8 
strings |
+
+### Unsupported Casts
+
+Any cast not listed in the previous tables is currently unsupported. We are 
working on adding more. See the
+[tracking issue](https://github.com/apache/datafusion-comet/issues/286) for 
more details.
diff --git a/searchindex.js b/searchindex.js
index e48623e8..713f69fa 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"ANSI mode": [[5, "ansi-mode"], [6, 
"ansi-mode"]], "ASF Links": [[4, null]], "Additional Info": [[1, 
"additional-info"]], "After your debugging is done,": [[1, 
"after-your-debugging-is-done"]], "Apache DataFusion Comet": [[4, 
"apache-datafusion-comet"]], "Architecture": [[13, "architecture"]], "Asking 
for Help": [[0, "asking-for-help"]], "Benchmark": [[2, "benchmark"]], "Build & 
Test": [[2, "build-test"]], "Building From Source": [[11, "building-from-source 
[...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"ANSI mode": [[5, "ansi-mode"], [6, 
"ansi-mode"]], "ASF Links": [[4, null]], "Additional Info": [[1, 
"additional-info"]], "After your debugging is done,": [[1, 
"after-your-debugging-is-done"]], "Apache DataFusion Comet": [[4, 
"apache-datafusion-comet"]], "Architecture": [[13, "architecture"]], "Asking 
for Help": [[0, "asking-for-help"]], "Benchmark": [[2, "benchmark"]], "Build & 
Test": [[2, "build-test"]], "Building From Source": [[11, "building-from-source 
[...]
\ No newline at end of file
diff --git a/user-guide/compatibility-template.html 
b/user-guide/compatibility-template.html
index ad0d8d6b..cff720fc 100644
--- a/user-guide/compatibility-template.html
+++ b/user-guide/compatibility-template.html
@@ -248,6 +248,23 @@ under the License.
   <a class="reference internal nav-link" href="#cast">
    Cast
   </a>
+  <ul class="nav section-nav flex-column">
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#compatible-casts">
+     Compatible Casts
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#incompatible-casts">
+     Incompatible Casts
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#unsupported-casts">
+     Unsupported Casts
+    </a>
+   </li>
+  </ul>
  </li>
 </ul>
 
@@ -319,9 +336,21 @@ recommended for production use.</p></li>
 <li><p><strong>Unsupported</strong>: Comet does not provide a native version 
of this cast expression and the query stage will fall back to
 Spark.</p></li>
 </ul>
-<p>The following table shows the current cast operations supported by Comet. 
Any cast that does not appear in this
-table (such as those involving complex types and timestamp_ntz, for example) 
are not supported by Comet.</p>
-<!--CAST_TABLE-->
+<section id="compatible-casts">
+<h3>Compatible Casts<a class="headerlink" href="#compatible-casts" title="Link 
to this heading">¶</a></h3>
+<p>The following cast operations are generally compatible with Spark except 
for the differences noted here.</p>
+<!--COMPAT_CAST_TABLE-->
+</section>
+<section id="incompatible-casts">
+<h3>Incompatible Casts<a class="headerlink" href="#incompatible-casts" 
title="Link to this heading">¶</a></h3>
+<p>The following cast operations are not compatible with Spark for all inputs 
and are disabled by default.</p>
+<!--INCOMPAT_CAST_TABLE-->
+</section>
+<section id="unsupported-casts">
+<h3>Unsupported Casts<a class="headerlink" href="#unsupported-casts" 
title="Link to this heading">¶</a></h3>
+<p>Any cast not listed in the previous tables is currently unsupported. We are 
working on adding more. See the
+<a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/286";>tracking issue</a> 
for more details.</p>
+</section>
 </section>
 </section>
 
diff --git a/user-guide/compatibility.html b/user-guide/compatibility.html
index 7466a2c4..e927a9e9 100644
--- a/user-guide/compatibility.html
+++ b/user-guide/compatibility.html
@@ -250,6 +250,23 @@ under the License.
   <a class="reference internal nav-link" href="#cast">
    Cast
   </a>
+  <ul class="nav section-nav flex-column">
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#compatible-casts">
+     Compatible Casts
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#incompatible-casts">
+     Incompatible Casts
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#unsupported-casts">
+     Unsupported Casts
+    </a>
+   </li>
+  </ul>
  </li>
 </ul>
 
@@ -321,560 +338,288 @@ recommended for production use.</p></li>
 <li><p><strong>Unsupported</strong>: Comet does not provide a native version 
of this cast expression and the query stage will fall back to
 Spark.</p></li>
 </ul>
-<p>The following table shows the current cast operations supported by Comet. 
Any cast that does not appear in this
-table (such as those involving complex types and timestamp_ntz, for example) 
are not supported by Comet.</p>
+<section id="compatible-casts">
+<h3>Compatible Casts<a class="headerlink" href="#compatible-casts" title="Link 
to this heading">¶</a></h3>
+<p>The following cast operations are generally compatible with Spark except 
for the differences noted here.</p>
 <table class="table">
 <thead>
 <tr class="row-odd"><th class="head"><p>From Type</p></th>
 <th class="head"><p>To Type</p></th>
-<th class="head"><p>Compatible?</p></th>
 <th class="head"><p>Notes</p></th>
 </tr>
 </thead>
 <tbody>
 <tr class="row-even"><td><p>boolean</p></td>
 <td><p>byte</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>boolean</p></td>
 <td><p>short</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>boolean</p></td>
 <td><p>integer</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>boolean</p></td>
 <td><p>long</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>boolean</p></td>
 <td><p>float</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>boolean</p></td>
 <td><p>double</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>boolean</p></td>
-<td><p>decimal</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>boolean</p></td>
 <td><p>string</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>boolean</p></td>
-<td><p>timestamp</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>byte</p></td>
 <td><p>boolean</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>byte</p></td>
 <td><p>short</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>byte</p></td>
 <td><p>integer</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>byte</p></td>
 <td><p>long</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>byte</p></td>
 <td><p>float</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>byte</p></td>
 <td><p>double</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>byte</p></td>
 <td><p>decimal</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>byte</p></td>
 <td><p>string</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>byte</p></td>
-<td><p>binary</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>byte</p></td>
-<td><p>timestamp</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>short</p></td>
 <td><p>boolean</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>short</p></td>
 <td><p>byte</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>short</p></td>
 <td><p>integer</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>short</p></td>
 <td><p>long</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>short</p></td>
 <td><p>float</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>short</p></td>
 <td><p>double</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>short</p></td>
 <td><p>decimal</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>short</p></td>
 <td><p>string</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>short</p></td>
-<td><p>binary</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>short</p></td>
-<td><p>timestamp</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>integer</p></td>
 <td><p>boolean</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>integer</p></td>
 <td><p>byte</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>integer</p></td>
 <td><p>short</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>integer</p></td>
 <td><p>long</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>integer</p></td>
 <td><p>float</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>integer</p></td>
 <td><p>double</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>integer</p></td>
-<td><p>decimal</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>integer</p></td>
 <td><p>string</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>integer</p></td>
-<td><p>binary</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>integer</p></td>
-<td><p>timestamp</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>long</p></td>
-<td><p>boolean</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>long</p></td>
-<td><p>byte</p></td>
-<td><p>Compatible</p></td>
+<td><p>boolean</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>long</p></td>
-<td><p>short</p></td>
-<td><p>Compatible</p></td>
+<td><p>byte</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>long</p></td>
-<td><p>integer</p></td>
-<td><p>Compatible</p></td>
+<td><p>short</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>long</p></td>
-<td><p>float</p></td>
-<td><p>Compatible</p></td>
+<td><p>integer</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>long</p></td>
-<td><p>double</p></td>
-<td><p>Compatible</p></td>
+<td><p>float</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>long</p></td>
-<td><p>decimal</p></td>
-<td><p>Compatible</p></td>
+<td><p>double</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>long</p></td>
 <td><p>string</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>long</p></td>
-<td><p>binary</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>long</p></td>
-<td><p>timestamp</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>float</p></td>
 <td><p>boolean</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>float</p></td>
-<td><p>byte</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>float</p></td>
-<td><p>short</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>float</p></td>
-<td><p>integer</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>float</p></td>
-<td><p>long</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>float</p></td>
 <td><p>double</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>float</p></td>
-<td><p>decimal</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>float</p></td>
 <td><p>string</p></td>
-<td><p>Incompatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>float</p></td>
-<td><p>timestamp</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
+<td><p>There can be differences in precision. For example, the input “1.4E-45” 
will produce 1.0E-45 instead of 1.4E-45</p></td>
 </tr>
 <tr class="row-even"><td><p>double</p></td>
 <td><p>boolean</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>double</p></td>
-<td><p>byte</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>double</p></td>
-<td><p>short</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>double</p></td>
-<td><p>integer</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>double</p></td>
-<td><p>long</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>double</p></td>
 <td><p>float</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>double</p></td>
-<td><p>decimal</p></td>
-<td><p>Incompatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>double</p></td>
 <td><p>string</p></td>
-<td><p>Incompatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>double</p></td>
-<td><p>timestamp</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>decimal</p></td>
-<td><p>boolean</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>decimal</p></td>
-<td><p>byte</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>decimal</p></td>
-<td><p>short</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>decimal</p></td>
-<td><p>integer</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
+<td><p>There can be differences in precision. For example, the input “1.4E-45” 
will produce 1.0E-45 instead of 1.4E-45</p></td>
 </tr>
 <tr class="row-odd"><td><p>decimal</p></td>
-<td><p>long</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>decimal</p></td>
 <td><p>float</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>decimal</p></td>
-<td><p>double</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>decimal</p></td>
-<td><p>string</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>decimal</p></td>
-<td><p>timestamp</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>string</p></td>
-<td><p>boolean</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>string</p></td>
-<td><p>byte</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>string</p></td>
-<td><p>short</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>string</p></td>
-<td><p>integer</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>string</p></td>
-<td><p>long</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>string</p></td>
-<td><p>float</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>string</p></td>
 <td><p>double</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>string</p></td>
-<td><p>decimal</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>string</p></td>
-<td><p>binary</p></td>
-<td><p>Compatible</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>string</p></td>
-<td><p>date</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>string</p></td>
-<td><p>timestamp</p></td>
-<td><p>Incompatible</p></td>
-<td><p>Not all valid formats are supported</p></td>
-</tr>
-<tr class="row-odd"><td><p>binary</p></td>
-<td><p>string</p></td>
-<td><p>Incompatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>date</p></td>
 <td><p>boolean</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p>date</p></td>
+<tr class="row-even"><td><p>string</p></td>
 <td><p>byte</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p>date</p></td>
+<tr class="row-odd"><td><p>string</p></td>
 <td><p>short</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p>date</p></td>
+<tr class="row-even"><td><p>string</p></td>
 <td><p>integer</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p>date</p></td>
+<tr class="row-odd"><td><p>string</p></td>
 <td><p>long</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p>date</p></td>
-<td><p>float</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>date</p></td>
-<td><p>double</p></td>
-<td><p>Unsupported</p></td>
+<tr class="row-even"><td><p>string</p></td>
+<td><p>binary</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>date</p></td>
-<td><p>decimal</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-even"><td><p>date</p></td>
 <td><p>string</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
-</tr>
-<tr class="row-odd"><td><p>date</p></td>
-<td><p>timestamp</p></td>
-<td><p>Unsupported</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>timestamp</p></td>
-<td><p>boolean</p></td>
-<td><p>Unsupported</p></td>
+<td><p>long</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>timestamp</p></td>
-<td><p>byte</p></td>
-<td><p>Unsupported</p></td>
+<td><p>decimal</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p>timestamp</p></td>
-<td><p>short</p></td>
-<td><p>Unsupported</p></td>
+<td><p>string</p></td>
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p>timestamp</p></td>
-<td><p>integer</p></td>
-<td><p>Unsupported</p></td>
+<td><p>date</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p>timestamp</p></td>
-<td><p>long</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
+</tbody>
+</table>
+</section>
+<section id="incompatible-casts">
+<h3>Incompatible Casts<a class="headerlink" href="#incompatible-casts" 
title="Link to this heading">¶</a></h3>
+<p>The following cast operations are not compatible with Spark for all inputs 
and are disabled by default.</p>
+<table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>From Type</p></th>
+<th class="head"><p>To Type</p></th>
+<th class="head"><p>Notes</p></th>
 </tr>
-<tr class="row-odd"><td><p>timestamp</p></td>
-<td><p>float</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>integer</p></td>
+<td><p>decimal</p></td>
+<td><p>No overflow check</p></td>
 </tr>
-<tr class="row-even"><td><p>timestamp</p></td>
-<td><p>double</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
+<tr class="row-odd"><td><p>long</p></td>
+<td><p>decimal</p></td>
+<td><p>No overflow check</p></td>
 </tr>
-<tr class="row-odd"><td><p>timestamp</p></td>
+<tr class="row-even"><td><p>float</p></td>
 <td><p>decimal</p></td>
-<td><p>Unsupported</p></td>
-<td><p></p></td>
+<td><p>No overflow check</p></td>
 </tr>
-<tr class="row-even"><td><p>timestamp</p></td>
-<td><p>string</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
+<tr class="row-odd"><td><p>double</p></td>
+<td><p>decimal</p></td>
+<td><p>No overflow check</p></td>
 </tr>
-<tr class="row-odd"><td><p>timestamp</p></td>
-<td><p>date</p></td>
-<td><p>Compatible</p></td>
-<td><p></p></td>
+<tr class="row-even"><td><p>string</p></td>
+<td><p>timestamp</p></td>
+<td><p>Not all valid formats are supported</p></td>
+</tr>
+<tr class="row-odd"><td><p>binary</p></td>
+<td><p>string</p></td>
+<td><p>Only works for binary data representing valid UTF-8 strings</p></td>
 </tr>
 </tbody>
 </table>
 </section>
+<section id="unsupported-casts">
+<h3>Unsupported Casts<a class="headerlink" href="#unsupported-casts" 
title="Link to this heading">¶</a></h3>
+<p>Any cast not listed in the previous tables is currently unsupported. We are 
working on adding more. See the
+<a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/286";>tracking issue</a> 
for more details.</p>
+</section>
+</section>
 </section>
 
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to