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 511a675  Publish built docs triggered by 
a340748c3ba526e6994b8e00248e261b8be9abe5
511a675 is described below

commit 511a675886ca178e975feb7ec1468ba05ec48999
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Apr 26 22:43:45 2024 +0000

    Publish built docs triggered by a340748c3ba526e6994b8e00248e261b8be9abe5
---
 _sources/contributor-guide/contributing.md.txt     |  52 +++
 _sources/contributor-guide/debugging.md.txt        | 164 +++++++
 _sources/contributor-guide/development.md.txt      |  96 +++++
 _sources/index.rst.txt                             |  15 +-
 _sources/{ => user-guide}/compatibility.md.txt     |   2 +-
 _sources/user-guide/expressions.md.txt             | 109 +++++
 .../contributing.html                              | 148 +++++--
 contributor-guide/debugging.html                   | 476 +++++++++++++++++++++
 contributor-guide/development.html                 | 447 +++++++++++++++++++
 genindex.html                                      |  31 +-
 index.html                                         |  53 ++-
 objects.inv                                        | Bin 317 -> 405 bytes
 search.html                                        |  31 +-
 searchindex.js                                     |   2 +-
 .../compatibility.html                             |  83 ++--
 compatibility.html => user-guide/expressions.html  | 233 +++++++---
 16 files changed, 1795 insertions(+), 147 deletions(-)

diff --git a/_sources/contributor-guide/contributing.md.txt 
b/_sources/contributor-guide/contributing.md.txt
new file mode 100644
index 0000000..2262692
--- /dev/null
+++ b/_sources/contributor-guide/contributing.md.txt
@@ -0,0 +1,52 @@
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Contributing to Apache DataFusion Comet
+
+We welcome contributions to Comet in many areas, and encourage new 
contributors to get involved.
+
+Here are some areas where you can help:
+
+- Testing Comet with existing Spark jobs and reporting issues for any bugs or 
performance issues
+- Contributing code to support Spark expressions, operators, and data types 
that are not currently supported
+- Reviewing pull requests and helping to test new features for correctness and 
performance
+- Improving documentation
+
+## Finding issues to work on
+
+We maintain a list of good first issues in GitHub 
[here](https://github.com/apache/datafusion-comet/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
+
+## Reporting issues
+
+We use [GitHub issues](https://github.com/apache/datafusion-comet/issues) for 
bug reports and feature requests.
+
+## Asking for Help
+
+The Comet project uses the same Slack and Discord channels as the main Apache 
DataFusion project. See details at
+[Apache DataFusion Communications]. There are dedicated Comet channels in both 
Slack and Discord.
+
+## Regular public meetings
+
+The Comet contributors hold regular video calls where new and current 
contributors are welcome to ask questions and
+coordinate on issues that they are working on.
+
+See the [Apache DataFusion Comet community meeting] Google document for more 
information.
+
+[Apache DataFusion Communications]: 
https://datafusion.apache.org/contributor-guide/communication.html
+[Apache DataFusion Comet community meeting]: 
https://docs.google.com/document/d/1NBpkIAuU7O9h8Br5CbFksDhX-L9TyO9wmGLPMe0Plc8/edit?usp=sharing
diff --git a/_sources/contributor-guide/debugging.md.txt 
b/_sources/contributor-guide/debugging.md.txt
new file mode 100644
index 0000000..3b20ed0
--- /dev/null
+++ b/_sources/contributor-guide/debugging.md.txt
@@ -0,0 +1,164 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Comet Debugging Guide
+
+This HOWTO describes how to debug JVM code and Native code concurrently. The 
guide assumes you have:
+
+1. Intellij as the Java IDE
+2. CLion as the Native IDE. For Rust code, the CLion Rust language plugin is 
required. Note that the
+   Intellij Rust plugin is not sufficient.
+3. CLion/LLDB as the native debugger. CLion ships with a bundled LLDB and the 
Rust community has
+   its own packaging of LLDB (`lldb-rust`). Both provide a better display of 
Rust symbols than plain
+   LLDB or the LLDB that is bundled with XCode. We will use the LLDB packaged 
with CLion for this guide.
+4. We will use a Comet _unit_ test as the canonical use case.
+
+_Caveat: The steps here have only been tested with JDK 11_ on Mac (M1)
+
+## Debugging for Advanced Developers
+
+Add a `.lldbinit` to comet/core. This is not strictly necessary but will be 
useful if you want to
+use advanced `lldb` debugging.
+
+### In Intellij
+
+1. Set a breakpoint in `NativeBase.load()`, at a point _after_ the Comet 
library has been loaded.
+
+1. Add a Debug Configuration for the unit test
+
+1. In the Debug Configuration for that unit test add `-Xint` as a JVM 
parameter. This option is
+   undocumented _magic_. Without this, the LLDB debugger hits a EXC_BAD_ACCESS 
(or EXC_BAD_INSTRUCTION) from
+   which one cannot recover.
+
+1. Add a println to the unit test to print the PID of the JVM process. (jps 
can also be used but this is less error prone if you have multiple jvm 
processes running)
+
+   ```JDK8
+        println("Waiting for Debugger: PID - ", 
ManagementFactory.getRuntimeMXBean().getName())
+   ```
+
+   This will print something like : `PID@your_machine_name`.
+
+   For JDK9 and newer
+
+   ```JDK9
+        println("Waiting for Debugger: PID - ", ProcessHandle.current.pid)
+   ```
+
+   ==> Note the PID
+
+1. Debug-run the test in Intellij and wait for the breakpoint to be hit
+
+### In CLion
+
+1. After the breakpoint is hit in Intellij, in Clion (or LLDB from terminal or 
editor) -
+
+   1. Attach to the jvm process (make sure the PID matches). In CLion, this is 
`Run -> Atttach to process`
+
+   1. Put your breakpoint in the native code
+
+1. Go back to intellij and resume the process.
+
+1. Most debugging in CLion is similar to Intellij. For advanced LLDB based 
debugging the LLDB command line can be accessed from the LLDB tab in the 
Debugger view. Refer to the [LLDB 
manual](https://lldb.llvm.org/use/tutorial.html) for LLDB commands.
+
+### After your debugging is done,
+
+1. In CLion, detach from the process if not already detached
+
+2. In Intellij, the debugger might have lost track of the process. If so, the 
debugger tab
+   will show the process as running (even if the test/job is shown as 
completed).
+
+3. Close the debugger tab, and if the IDS asks whether it should terminate the 
process,
+   click Yes.
+
+4. In terminal, use jps to identify the process with the process id you were 
debugging. If
+   it shows up as running, kill -9 [pid]. If that doesn't remove the process, 
don't bother,
+   the process will be left behind as a zombie and will consume no 
(significant) resources.
+   Eventually it will be cleaned up when you reboot possibly after a software 
update.
+
+### Additional Info
+
+OpenJDK mailing list on debugging the JDK on MacOS
+https://mail.openjdk.org/pipermail/hotspot-dev/2019-September/039429.html
+
+Detecting the debugger
+https://stackoverflow.com/questions/5393403/can-a-java-application-detect-that-a-debugger-is-attached#:~:text=No.,to%20let%20your%20app%20continue.&text=I%20know%20that%20those%20are,meant%20with%20my%20first%20phrase).
+
+# Verbose debug
+
+By default, Comet outputs the exception details specific for Comet.
+
+```scala
+scala> spark.sql("my_failing_query").show(false)
+
+24/03/05 17:00:07 ERROR Executor: Exception in task 0.0 in stage 0.0 (TID 0)/ 
1]
+org.apache.comet.CometNativeException: Internal error: MIN/MAX is not expected 
to receive scalars of incompatible types (Date32("NULL"), Int32(15901)).
+This was likely caused by a bug in DataFusion's code and we would welcome that 
you file an bug report in our issue tracker
+        at org.apache.comet.Native.executePlan(Native Method)
+        at 
org.apache.comet.CometExecIterator.executeNative(CometExecIterator.scala:65)
+        at 
org.apache.comet.CometExecIterator.getNextBatch(CometExecIterator.scala:111)
+        at 
org.apache.comet.CometExecIterator.hasNext(CometExecIterator.scala:126)
+
+```
+
+There is a verbose exception option by leveraging DataFusion 
[backtraces](https://arrow.apache.org/datafusion/user-guide/example-usage.html#enable-backtraces)
+This option allows to append native DataFusion stacktrace to the original 
error message.
+To enable this option with Comet it is needed to include `backtrace` feature 
in 
[Cargo.toml](https://github.com/apache/arrow-datafusion-comet/blob/main/core/Cargo.toml)
 for DataFusion dependencies
+
+```
+datafusion-common = { version = "36.0.0", features = ["backtrace"] }
+datafusion = { default-features = false, version = "36.0.0", features = 
["unicode_expressions", "backtrace"] }
+```
+
+Then build the Comet as 
[described](https://github.com/apache/arrow-datafusion-comet/blob/main/README.md#getting-started)
+
+Start Comet with `RUST_BACKTRACE=1`
+
+```commandline
+RUST_BACKTRACE=1 $SPARK_HOME/spark-shell --jars 
spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar --conf 
spark.sql.extensions=org.apache.comet.CometSparkSessionExtensions --conf 
spark.comet.enabled=true --conf spark.comet.exec.enabled=true --conf 
spark.comet.exec.all.enabled=true
+```
+
+Get the expanded exception details
+
+```scala
+scala> spark.sql("my_failing_query").show(false)
+24/03/05 17:00:49 ERROR Executor: Exception in task 0.0 in stage 0.0 (TID 0)
+org.apache.comet.CometNativeException: Internal error: MIN/MAX is not expected 
to receive scalars of incompatible types (Date32("NULL"), Int32(15901))
+
+backtrace:
+  0: std::backtrace::Backtrace::create
+  1: datafusion_physical_expr::aggregate::min_max::min
+  2: <datafusion_physical_expr::aggregate::min_max::MinAccumulator as 
datafusion_expr::accumulator::Accumulator>::update_batch
+  3: <futures_util::stream::stream::fuse::Fuse<S> as 
futures_core::stream::Stream>::poll_next
+  4: 
comet::execution::jni_api::Java_org_apache_comet_Native_executePlan::{{closure}}
+  5: _Java_org_apache_comet_Native_executePlan
+  (reduced)
+
+This was likely caused by a bug in DataFusion's code and we would welcome that 
you file an bug report in our issue tracker
+        at org.apache.comet.Native.executePlan(Native Method)
+at org.apache.comet.CometExecIterator.executeNative(CometExecIterator.scala:65)
+at org.apache.comet.CometExecIterator.getNextBatch(CometExecIterator.scala:111)
+at org.apache.comet.CometExecIterator.hasNext(CometExecIterator.scala:126)
+(reduced)
+
+```
+
+Note:
+
+- The backtrace coverage in DataFusion is still improving. So there is a 
chance the error still not covered, if so feel free to file a 
[ticket](https://github.com/apache/arrow-datafusion/issues)
+- The backtrace evaluation comes with performance cost and intended mostly for 
debugging purposes
diff --git a/_sources/contributor-guide/development.md.txt 
b/_sources/contributor-guide/development.md.txt
new file mode 100644
index 0000000..63146c1
--- /dev/null
+++ b/_sources/contributor-guide/development.md.txt
@@ -0,0 +1,96 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Comet Development Guide
+
+## Project Layout
+
+```
+├── common     <- common Java/Scala code
+├── conf       <- configuration files
+├── core       <- core native code, in Rust
+├── spark      <- Spark integration
+```
+
+## Development Setup
+
+1. Make sure `JAVA_HOME` is set and point to JDK 8/11/17 installation.
+2. Install Rust toolchain. The easiest way is to use
+   [rustup](https://rustup.rs).
+
+## Build & Test
+
+A few common commands are specified in project's `Makefile`:
+
+- `make`: compile the entire project, but don't run tests
+- `make test-rust`: compile the project and run tests in Rust side
+- `make test-java`: compile the project and run tests in Java side
+- `make test`: compile the project and run tests in both Rust and Java
+  side.
+- `make release`: compile the project and creates a release build. This
+  is useful when you want to test Comet local installation in another project
+  such as Spark.
+- `make clean`: clean up the workspace
+- `bin/comet-spark-shell -d . -o spark/target/` run Comet spark shell for V1 
datasources
+- `bin/comet-spark-shell -d . -o spark/target/ --conf 
spark.sql.sources.useV1SourceList=""` run Comet spark shell for V2 datasources
+
+## Development Environment
+
+Comet is a multi-language project with native code written in Rust and JVM 
code written in Java and Scala.
+For Rust code, the CLion IDE is recommended. For JVM code, IntelliJ IDEA is 
recommended.
+
+Before opening the project in an IDE, make sure to run `make` first to 
generate the necessary files for the IDEs. Currently, it's mostly about
+generating protobuf message classes for the JVM side. It's only required to 
run `make` once after cloning the repo.
+
+### IntelliJ IDEA
+
+First make sure to install the Scala plugin in IntelliJ IDEA.
+After that, you can open the project in IntelliJ IDEA. The IDE should 
automatically detect the project structure and import as a Maven project.
+
+### CLion
+
+First make sure to install the Rust plugin in CLion or you can use the 
dedicated Rust IDE: RustRover.
+After that you can open the project in CLion. The IDE should automatically 
detect the project structure and import as a Cargo project.
+
+### Running Tests in IDEA
+
+Like other Maven projects, you can run tests in IntelliJ IDEA by 
right-clicking on the test class or test method and selecting "Run" or "Debug".
+However if the tests is related to the native side. Please make sure to run 
`make core` or `cd core && cargo build` before running the tests in IDEA.
+
+## Benchmark
+
+There's a `make` command to run micro benchmarks in the repo. For
+instance:
+
+```
+make benchmark-org.apache.spark.sql.benchmark.CometReadBenchmark
+```
+
+To run TPC-H or TPC-DS micro benchmarks, please follow the instructions
+in the respective source code, e.g., `CometTPCHQueryBenchmark`.
+
+## Debugging
+
+Comet is a multi-language project with native code written in Rust and JVM 
code written in Java and Scala.
+It is possible to debug both native and JVM code concurrently as described in 
the [DEBUGGING guide](debugging)
+
+## Submitting a Pull Request
+
+Comet uses `cargo fmt`, [Scalafix](https://github.com/scalacenter/scalafix) 
and [Spotless](https://github.com/diffplug/spotless/tree/main/plugin-maven) to
+automatically format the code. Before submitting a pull request, you can 
simply run `make format` to format the code.
diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt
index c8f2735..4462a8d 100644
--- a/_sources/index.rst.txt
+++ b/_sources/index.rst.txt
@@ -35,16 +35,23 @@ Apache DataFusion Comet
 Apache DataFusion Comet is an Apache Spark plugin that uses Apache DataFusion
 as a native runtime to achieve improvement in terms of query efficiency and 
query runtime.
 
-This documentation site is currently being developed. The most up-to-date 
documentation can be found in the
-GitHub repository at https://github.com/apache/datafusion-comet.
+.. _toc.links:
+.. toctree::
+   :maxdepth: 1
+   :caption: User Guide
+
+   Supported Expressions <user-guide/expressions>
+   user-guide/compatibility
 
 .. _toc.links:
 .. toctree::
    :maxdepth: 1
-   :caption: Project Links
+   :caption: Contributor Guide
 
-   compatibility
+   Getting Started <contributor-guide/contributing>
    Github and Issue Tracker <https://github.com/apache/datafusion-comet>
+   contributor-guide/development
+   contributor-guide/debugging
 
 .. _toc.asf-links:
 .. toctree::
diff --git a/_sources/compatibility.md.txt 
b/_sources/user-guide/compatibility.md.txt
similarity index 97%
rename from _sources/compatibility.md.txt
rename to _sources/user-guide/compatibility.md.txt
index 6e69f84..d817ba5 100644
--- a/_sources/compatibility.md.txt
+++ b/_sources/user-guide/compatibility.md.txt
@@ -34,7 +34,7 @@ There is an 
[epic](https://github.com/apache/datafusion-comet/issues/313) where
 
 ## Cast
 
-Comet currently delegates to Apache DataFusion for most cast operations, and 
this means that the behavior is not 
+Comet currently delegates to Apache DataFusion for most cast operations, and 
this means that the behavior is not
 guaranteed to be consistent with Spark.
 
 There is an [epic](https://github.com/apache/datafusion-comet/issues/286) 
where we are tracking the work to implement Spark-compatible cast expressions.
diff --git a/_sources/user-guide/expressions.md.txt 
b/_sources/user-guide/expressions.md.txt
new file mode 100644
index 0000000..f67a4ea
--- /dev/null
+++ b/_sources/user-guide/expressions.md.txt
@@ -0,0 +1,109 @@
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Supported Spark Expressions
+
+The following Spark expressions are currently available:
+
+- Literals
+- Arithmetic Operators
+  - UnaryMinus
+  - Add/Minus/Multiply/Divide/Remainder
+- Conditional functions
+  - Case When
+  - If
+- Cast
+- Coalesce
+- BloomFilterMightContain
+- Boolean functions
+  - And
+  - Or
+  - Not
+  - EqualTo
+  - EqualNullSafe
+  - GreaterThan
+  - GreaterThanOrEqual
+  - LessThan
+  - LessThanOrEqual
+  - IsNull
+  - IsNotNull
+  - In
+- String functions
+  - Substring
+  - Coalesce
+  - StringSpace
+  - Like
+  - Contains
+  - Startswith
+  - Endswith
+  - Ascii
+  - Bit_length
+  - Octet_length
+  - Upper
+  - Lower
+  - Chr
+  - Initcap
+  - Trim/Btrim/Ltrim/Rtrim
+  - Concat_ws
+  - Repeat
+  - Length
+  - Reverse
+  - Instr
+  - Replace
+  - Translate
+- Bitwise functions
+  - Shiftright/Shiftleft
+- Date/Time functions
+  - Year/Hour/Minute/Second
+- Math functions
+  - Abs
+  - Acos
+  - Asin
+  - Atan
+  - Atan2
+  - Cos
+  - Exp
+  - Ln
+  - Log10
+  - Log2
+  - Pow
+  - Round
+  - Signum
+  - Sin
+  - Sqrt
+  - Tan
+  - Ceil
+  - Floor
+- Aggregate functions
+  - Count
+  - Sum
+  - Max
+  - Min
+  - Avg
+  - First
+  - Last
+  - BitAnd
+  - BitOr
+  - BitXor
+  - BoolAnd
+  - BoolOr
+  - CovPopulation
+  - CovSample
+  - VariancePop
+  - VarianceSamp
diff --git a/compatibility.html b/contributor-guide/contributing.html
similarity index 55%
copy from compatibility.html
copy to contributor-guide/contributing.html
index a01b954..a6f1e02 100644
--- a/compatibility.html
+++ b/contributor-guide/contributing.html
@@ -19,41 +19,42 @@ under the License.
 
 <!DOCTYPE html>
 
-<html lang="en" data-content_root="./">
+<html lang="en" data-content_root="../">
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" 
/><meta name="viewport" content="width=device-width, initial-scale=1" />
 
-    <title>Compatibility Guide &#8212; Apache DataFusion Comet  
documentation</title>
+    <title>Contributing to Apache DataFusion Comet &#8212; Apache DataFusion 
Comet  documentation</title>
     
-    <link href="_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
-<link 
href="_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+    <link href="../_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+<link 
href="../_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
   
     
     <link rel="stylesheet"
-      href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
+      href="../_static/vendor/fontawesome/5.13.0/css/all.min.css">
     <link rel="preload" as="font" type="font/woff2" crossorigin
-      href="_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
     <link rel="preload" as="font" type="font/woff2" crossorigin
-      href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
   
     
       
   
     
-    <link rel="stylesheet" type="text/css" 
href="_static/pygments.css?v=a746c00c" />
-    <link rel="stylesheet" type="text/css" 
href="_static/styles/pydata-sphinx-theme.css?v=1140d252" />
-    <link rel="stylesheet" type="text/css" 
href="_static/theme_overrides.css?v=c6d785ac" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/pygments.css?v=a746c00c" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/styles/pydata-sphinx-theme.css?v=1140d252" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/theme_overrides.css?v=c6d785ac" />
     
-    <link rel="preload" as="script" 
href="_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
+    <link rel="preload" as="script" 
href="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
   
-    <script src="_static/documentation_options.js?v=8a448e45"></script>
-    <script src="_static/doctools.js?v=9a2dae69"></script>
-    <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script src="../_static/documentation_options.js?v=8a448e45"></script>
+    <script src="../_static/doctools.js?v=9a2dae69"></script>
+    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
-    <link rel="index" title="Index" href="genindex.html" />
-    <link rel="search" title="Search" href="search.html" />
-    <link rel="prev" title="Apache DataFusion Comet" href="index.html" />
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Comet Development Guide" href="development.html" />
+    <link rel="prev" title="Compatibility Guide" 
href="../user-guide/compatibility.html" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="docsearch:language" content="en">
     
@@ -93,7 +94,7 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<form class="bd-search d-flex align-items-center" action="search.html" 
method="get">
+<form class="bd-search d-flex align-items-center" action="../search.html" 
method="get">
   <i class="icon fas fa-search"></i>
   <input type="search" class="form-control" name="q" id="search-input" 
placeholder="Search the docs ..." aria-label="Search the docs ..." 
autocomplete="off" >
 </form>
@@ -103,13 +104,30 @@ under the License.
     
     <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
-  Project Links
+  User Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="../user-guide/expressions.html">
+   Supported Expressions
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../user-guide/compatibility.html">
+   Compatibility Guide
+  </a>
+ </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Contributor Guide
  </span>
 </p>
 <ul class="current nav bd-sidenav">
  <li class="toctree-l1 current active">
   <a class="current reference internal" href="#">
-   Compatibility Guide
+   Getting Started
   </a>
  </li>
  <li class="toctree-l1">
@@ -117,6 +135,16 @@ under the License.
    Github and Issue Tracker
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="development.html">
+   Comet Development Guide
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="debugging.html">
+   Comet Debugging Guide
+  </a>
+ </li>
 </ul>
 <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
@@ -159,8 +187,8 @@ under the License.
     
   </div>
 
-  <a class="navbar-brand" href="index.html">
-    <img src="_static/images/2x_bgwhite_original.png" class="logo" alt="logo">
+  <a class="navbar-brand" href="../index.html">
+    <img src="../_static/images/2x_bgwhite_original.png" class="logo" 
alt="logo">
   </a>
 </nav>
 
@@ -184,13 +212,23 @@ under the License.
 <nav id="bd-toc-nav">
     <ul class="visible nav section-nav flex-column">
  <li class="toc-h2 nav-item toc-entry">
-  <a class="reference internal nav-link" href="#ansi-mode">
-   ANSI mode
+  <a class="reference internal nav-link" href="#finding-issues-to-work-on">
+   Finding issues to work on
   </a>
  </li>
  <li class="toc-h2 nav-item toc-entry">
-  <a class="reference internal nav-link" href="#cast">
-   Cast
+  <a class="reference internal nav-link" href="#reporting-issues">
+   Reporting issues
+  </a>
+ </li>
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#asking-for-help">
+   Asking for Help
+  </a>
+ </li>
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#regular-public-meetings">
+   Regular public meetings
   </a>
  </li>
 </ul>
@@ -202,7 +240,7 @@ under the License.
                 
 
 <div class="tocsection editthispage">
-    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/compatibility.md";>
+    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/contributor-guide/contributing.md";>
         <i class="fas fa-pencil-alt"></i> Edit this page
     </a>
 </div>
@@ -239,23 +277,34 @@ under the License.
   specific language governing permissions and limitations
   under the License.
 -->
-<section id="compatibility-guide">
-<h1>Compatibility Guide<a class="headerlink" href="#compatibility-guide" 
title="Link to this heading">¶</a></h1>
-<p>Comet aims to provide consistent results with the version of Apache Spark 
that is being used.</p>
-<p>This guide offers information about areas of functionality where there are 
known differences.</p>
-<section id="ansi-mode">
-<h2>ANSI mode<a class="headerlink" href="#ansi-mode" title="Link to this 
heading">¶</a></h2>
-<p>Comet currently ignores ANSI mode in most cases, and therefore can produce 
different results than Spark. By default,
-Comet will fall back to Spark if ANSI mode is enabled. To enable Comet to 
accelerate queries when ANSI mode is enabled,
-specify <code class="docutils literal notranslate"><span 
class="pre">spark.comet.ansi.enabled=true</span></code> in the Spark 
configuration. Comet’s ANSI support is experimental and should not
-be used in production.</p>
-<p>There is an <a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/313";>epic</a> where we 
are tracking the work to fully implement ANSI support.</p>
+<section id="contributing-to-apache-datafusion-comet">
+<h1>Contributing to Apache DataFusion Comet<a class="headerlink" 
href="#contributing-to-apache-datafusion-comet" title="Link to this 
heading">¶</a></h1>
+<p>We welcome contributions to Comet in many areas, and encourage new 
contributors to get involved.</p>
+<p>Here are some areas where you can help:</p>
+<ul class="simple">
+<li><p>Testing Comet with existing Spark jobs and reporting issues for any 
bugs or performance issues</p></li>
+<li><p>Contributing code to support Spark expressions, operators, and data 
types that are not currently supported</p></li>
+<li><p>Reviewing pull requests and helping to test new features for 
correctness and performance</p></li>
+<li><p>Improving documentation</p></li>
+</ul>
+<section id="finding-issues-to-work-on">
+<h2>Finding issues to work on<a class="headerlink" 
href="#finding-issues-to-work-on" title="Link to this heading">¶</a></h2>
+<p>We maintain a list of good first issues in GitHub <a class="reference 
external" 
href="https://github.com/apache/datafusion-comet/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22";>here</a>.</p>
+</section>
+<section id="reporting-issues">
+<h2>Reporting issues<a class="headerlink" href="#reporting-issues" title="Link 
to this heading">¶</a></h2>
+<p>We use <a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues";>GitHub issues</a> for 
bug reports and feature requests.</p>
 </section>
-<section id="cast">
-<h2>Cast<a class="headerlink" href="#cast" title="Link to this 
heading">¶</a></h2>
-<p>Comet currently delegates to Apache DataFusion for most cast operations, 
and this means that the behavior is not
-guaranteed to be consistent with Spark.</p>
-<p>There is an <a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/286";>epic</a> where we 
are tracking the work to implement Spark-compatible cast expressions.</p>
+<section id="asking-for-help">
+<h2>Asking for Help<a class="headerlink" href="#asking-for-help" title="Link 
to this heading">¶</a></h2>
+<p>The Comet project uses the same Slack and Discord channels as the main 
Apache DataFusion project. See details at
+<a class="reference external" 
href="https://datafusion.apache.org/contributor-guide/communication.html";>Apache
 DataFusion Communications</a>. There are dedicated Comet channels in both 
Slack and Discord.</p>
+</section>
+<section id="regular-public-meetings">
+<h2>Regular public meetings<a class="headerlink" 
href="#regular-public-meetings" title="Link to this heading">¶</a></h2>
+<p>The Comet contributors hold regular video calls where new and current 
contributors are welcome to ask questions and
+coordinate on issues that they are working on.</p>
+<p>See the <a class="reference external" 
href="https://docs.google.com/document/d/1NBpkIAuU7O9h8Br5CbFksDhX-L9TyO9wmGLPMe0Plc8/edit?usp=sharing";>Apache
 DataFusion Comet community meeting</a> Google document for more 
information.</p>
 </section>
 </section>
 
@@ -265,13 +314,20 @@ guaranteed to be consistent with Spark.</p>
               
               <!-- Previous / next buttons -->
 <div class='prev-next-area'>
-    <a class='left-prev' id="prev-link" href="index.html" title="previous 
page">
+    <a class='left-prev' id="prev-link" 
href="../user-guide/compatibility.html" title="previous page">
         <i class="fas fa-angle-left"></i>
         <div class="prev-next-info">
             <p class="prev-next-subtitle">previous</p>
-            <p class="prev-next-title">Apache DataFusion Comet</p>
+            <p class="prev-next-title">Compatibility Guide</p>
         </div>
     </a>
+    <a class='right-next' id="next-link" href="development.html" title="next 
page">
+    <div class="prev-next-info">
+        <p class="prev-next-subtitle">next</p>
+        <p class="prev-next-title">Comet Development Guide</p>
+    </div>
+    <i class="fas fa-angle-right"></i>
+    </a>
 </div>
               
           </main>
@@ -280,7 +336,7 @@ guaranteed to be consistent with Spark.</p>
       </div>
     </div>
   
-    <script 
src="_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
+    <script 
src="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
   
 <!-- Based on pydata_sphinx_theme/footer.html -->
 <footer class="footer mt-5 mt-md-0">
diff --git a/contributor-guide/debugging.html b/contributor-guide/debugging.html
new file mode 100644
index 0000000..48d5e77
--- /dev/null
+++ b/contributor-guide/debugging.html
@@ -0,0 +1,476 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!DOCTYPE html>
+
+<html lang="en" data-content_root="../">
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" 
/><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+    <title>Comet Debugging Guide &#8212; Apache DataFusion Comet  
documentation</title>
+    
+    <link href="../_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+<link 
href="../_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+  
+    
+    <link rel="stylesheet"
+      href="../_static/vendor/fontawesome/5.13.0/css/all.min.css">
+    <link rel="preload" as="font" type="font/woff2" crossorigin
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
+    <link rel="preload" as="font" type="font/woff2" crossorigin
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
+  
+    
+      
+  
+    
+    <link rel="stylesheet" type="text/css" 
href="../_static/pygments.css?v=a746c00c" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/styles/pydata-sphinx-theme.css?v=1140d252" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/theme_overrides.css?v=c6d785ac" />
+    
+    <link rel="preload" as="script" 
href="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
+  
+    <script src="../_static/documentation_options.js?v=8a448e45"></script>
+    <script src="../_static/doctools.js?v=9a2dae69"></script>
+    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="prev" title="Comet Development Guide" href="development.html" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <meta name="docsearch:language" content="en">
+    
+
+    <!-- Google Analytics -->
+    
+  </head>
+  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
+    
+    <div class="container-fluid" id="banner"></div>
+
+    
+
+
+    <div class="container-xl">
+      <div class="row">
+          
+            
+            <!-- Only show if we have sidebars configured, else just a small 
margin  -->
+            <div class="col-12 col-md-3 bd-sidebar">
+              <div class="sidebar-start-items"><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<form class="bd-search d-flex align-items-center" action="../search.html" 
method="get">
+  <i class="icon fas fa-search"></i>
+  <input type="search" class="form-control" name="q" id="search-input" 
placeholder="Search the docs ..." aria-label="Search the docs ..." 
autocomplete="off" >
+</form>
+
+<nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation">
+  <div class="bd-toc-item active">
+    
+    <p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  User Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="../user-guide/expressions.html">
+   Supported Expressions
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../user-guide/compatibility.html">
+   Compatibility Guide
+  </a>
+ </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Contributor Guide
+ </span>
+</p>
+<ul class="current nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributing.html">
+   Getting Started
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://github.com/apache/datafusion-comet";>
+   Github and Issue Tracker
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="development.html">
+   Comet Development Guide
+  </a>
+ </li>
+ <li class="toctree-l1 current active">
+  <a class="current reference internal" href="#">
+   Comet Debugging Guide
+  </a>
+ </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  ASF Links
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference external" href="https://apache.org";>
+   Apache Software Foundation
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" href="https://www.apache.org/licenses/";>
+   License
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://www.apache.org/foundation/sponsorship.html";>
+   Donate
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://www.apache.org/foundation/thanks.html";>
+   Thanks
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" href="https://www.apache.org/security/";>
+   Security
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://www.apache.org/foundation/policies/conduct.html";>
+   Code of conduct
+  </a>
+ </li>
+</ul>
+
+    
+  </div>
+
+  <a class="navbar-brand" href="../index.html">
+    <img src="../_static/images/2x_bgwhite_original.png" class="logo" 
alt="logo">
+  </a>
+</nav>
+
+              </div>
+              <div class="sidebar-end-items">
+              </div>
+            </div>
+            
+          
+
+          
+          <div class="d-none d-xl-block col-xl-2 bd-toc">
+            
+              
+              <div class="toc-item">
+                
+<div class="tocsection onthispage pt-5 pb-3">
+    <i class="fas fa-list"></i> On this page
+</div>
+
+<nav id="bd-toc-nav">
+    <ul class="visible nav section-nav flex-column">
+ <li class="toc-h1 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#">
+   Comet Debugging Guide
+  </a>
+  <ul class="visible nav section-nav flex-column">
+   <li class="toc-h2 nav-item toc-entry">
+    <a class="reference internal nav-link" 
href="#debugging-for-advanced-developers">
+     Debugging for Advanced Developers
+    </a>
+    <ul class="nav section-nav flex-column">
+     <li class="toc-h3 nav-item toc-entry">
+      <a class="reference internal nav-link" href="#in-intellij">
+       In Intellij
+      </a>
+     </li>
+     <li class="toc-h3 nav-item toc-entry">
+      <a class="reference internal nav-link" href="#in-clion">
+       In CLion
+      </a>
+     </li>
+     <li class="toc-h3 nav-item toc-entry">
+      <a class="reference internal nav-link" 
href="#after-your-debugging-is-done">
+       After your debugging is done,
+      </a>
+     </li>
+     <li class="toc-h3 nav-item toc-entry">
+      <a class="reference internal nav-link" href="#additional-info">
+       Additional Info
+      </a>
+     </li>
+    </ul>
+   </li>
+  </ul>
+ </li>
+ <li class="toc-h1 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#verbose-debug">
+   Verbose debug
+  </a>
+ </li>
+</ul>
+
+</nav>
+              </div>
+              
+              <div class="toc-item">
+                
+
+<div class="tocsection editthispage">
+    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/contributor-guide/debugging.md";>
+        <i class="fas fa-pencil-alt"></i> Edit this page
+    </a>
+</div>
+
+              </div>
+              
+            
+          </div>
+          
+
+          
+          
+            
+          
+          <main class="col-12 col-md-9 col-xl-7 py-md-5 pl-md-5 pr-md-4 
bd-content" role="main">
+              
+              <div>
+                
+  <!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<section id="comet-debugging-guide">
+<h1>Comet Debugging Guide<a class="headerlink" href="#comet-debugging-guide" 
title="Link to this heading">¶</a></h1>
+<p>This HOWTO describes how to debug JVM code and Native code concurrently. 
The guide assumes you have:</p>
+<ol class="arabic simple">
+<li><p>Intellij as the Java IDE</p></li>
+<li><p>CLion as the Native IDE. For Rust code, the CLion Rust language plugin 
is required. Note that the
+Intellij Rust plugin is not sufficient.</p></li>
+<li><p>CLion/LLDB as the native debugger. CLion ships with a bundled LLDB and 
the Rust community has
+its own packaging of LLDB (<code class="docutils literal notranslate"><span 
class="pre">lldb-rust</span></code>). Both provide a better display of Rust 
symbols than plain
+LLDB or the LLDB that is bundled with XCode. We will use the LLDB packaged 
with CLion for this guide.</p></li>
+<li><p>We will use a Comet <em>unit</em> test as the canonical use 
case.</p></li>
+</ol>
+<p><em>Caveat: The steps here have only been tested with JDK 11</em> on Mac 
(M1)</p>
+<section id="debugging-for-advanced-developers">
+<h2>Debugging for Advanced Developers<a class="headerlink" 
href="#debugging-for-advanced-developers" title="Link to this 
heading">¶</a></h2>
+<p>Add a <code class="docutils literal notranslate"><span 
class="pre">.lldbinit</span></code> to comet/core. This is not strictly 
necessary but will be useful if you want to
+use advanced <code class="docutils literal notranslate"><span 
class="pre">lldb</span></code> debugging.</p>
+<section id="in-intellij">
+<h3>In Intellij<a class="headerlink" href="#in-intellij" title="Link to this 
heading">¶</a></h3>
+<ol class="arabic">
+<li><p>Set a breakpoint in <code class="docutils literal notranslate"><span 
class="pre">NativeBase.load()</span></code>, at a point <em>after</em> the 
Comet library has been loaded.</p></li>
+<li><p>Add a Debug Configuration for the unit test</p></li>
+<li><p>In the Debug Configuration for that unit test add <code class="docutils 
literal notranslate"><span class="pre">-Xint</span></code> as a JVM parameter. 
This option is
+undocumented <em>magic</em>. Without this, the LLDB debugger hits a 
EXC_BAD_ACCESS (or EXC_BAD_INSTRUCTION) from
+which one cannot recover.</p></li>
+<li><p>Add a println to the unit test to print the PID of the JVM process. 
(jps can also be used but this is less error prone if you have multiple jvm 
processes running)</p>
+<div class="highlight-JDK8 notranslate"><div 
class="highlight"><pre><span></span>     println(&quot;Waiting for Debugger: 
PID - &quot;, ManagementFactory.getRuntimeMXBean().getName())
+</pre></div>
+</div>
+<p>This will print something like : <code class="docutils literal 
notranslate"><span class="pre">PID&#64;your_machine_name</span></code>.</p>
+<p>For JDK9 and newer</p>
+<div class="highlight-JDK9 notranslate"><div 
class="highlight"><pre><span></span>     println(&quot;Waiting for Debugger: 
PID - &quot;, ProcessHandle.current.pid)
+</pre></div>
+</div>
+<p>==&gt; Note the PID</p>
+</li>
+<li><p>Debug-run the test in Intellij and wait for the breakpoint to be 
hit</p></li>
+</ol>
+</section>
+<section id="in-clion">
+<h3>In CLion<a class="headerlink" href="#in-clion" title="Link to this 
heading">¶</a></h3>
+<ol class="arabic simple">
+<li><p>After the breakpoint is hit in Intellij, in Clion (or LLDB from 
terminal or editor) -</p>
+<ol class="arabic simple">
+<li><p>Attach to the jvm process (make sure the PID matches). In CLion, this 
is <code class="docutils literal notranslate"><span class="pre">Run</span> 
<span class="pre">-&gt;</span> <span class="pre">Atttach</span> <span 
class="pre">to</span> <span class="pre">process</span></code></p></li>
+<li><p>Put your breakpoint in the native code</p></li>
+</ol>
+</li>
+<li><p>Go back to intellij and resume the process.</p></li>
+<li><p>Most debugging in CLion is similar to Intellij. For advanced LLDB based 
debugging the LLDB command line can be accessed from the LLDB tab in the 
Debugger view. Refer to the <a class="reference external" 
href="https://lldb.llvm.org/use/tutorial.html";>LLDB manual</a> for LLDB 
commands.</p></li>
+</ol>
+</section>
+<section id="after-your-debugging-is-done">
+<h3>After your debugging is done,<a class="headerlink" 
href="#after-your-debugging-is-done" title="Link to this heading">¶</a></h3>
+<ol class="arabic simple">
+<li><p>In CLion, detach from the process if not already detached</p></li>
+<li><p>In Intellij, the debugger might have lost track of the process. If so, 
the debugger tab
+will show the process as running (even if the test/job is shown as 
completed).</p></li>
+<li><p>Close the debugger tab, and if the IDS asks whether it should terminate 
the process,
+click Yes.</p></li>
+<li><p>In terminal, use jps to identify the process with the process id you 
were debugging. If
+it shows up as running, kill -9 [pid]. If that doesn’t remove the process, 
don’t bother,
+the process will be left behind as a zombie and will consume no (significant) 
resources.
+Eventually it will be cleaned up when you reboot possibly after a software 
update.</p></li>
+</ol>
+</section>
+<section id="additional-info">
+<h3>Additional Info<a class="headerlink" href="#additional-info" title="Link 
to this heading">¶</a></h3>
+<p>OpenJDK mailing list on debugging the JDK on MacOS
+https://mail.openjdk.org/pipermail/hotspot-dev/2019-September/039429.html</p>
+<p>Detecting the debugger
+https://stackoverflow.com/questions/5393403/can-a-java-application-detect-that-a-debugger-is-attached#:~:text=No.,to%20let%20your%20app%20continue.&amp;text=I%20know%20that%20those%20are,meant%20with%20my%20first%20phrase).</p>
+</section>
+</section>
+</section>
+<section id="verbose-debug">
+<h1>Verbose debug<a class="headerlink" href="#verbose-debug" title="Link to 
this heading">¶</a></h1>
+<p>By default, Comet outputs the exception details specific for Comet.</p>
+<div class="highlight-scala notranslate"><div 
class="highlight"><pre><span></span><span class="n">scala</span><span 
class="o">&gt;</span><span class="w"> </span><span class="n">spark</span><span 
class="p">.</span><span class="n">sql</span><span class="p">(</span><span 
class="s">&quot;my_failing_query&quot;</span><span class="p">).</span><span 
class="n">show</span><span class="p">(</span><span class="kc">false</span><span 
class="p">)</span>
+
+<span class="mi">24</span><span class="o">/</span><span 
class="mi">03</span><span class="o">/</span><span class="mi">05</span><span 
class="w"> </span><span class="mi">17</span><span class="p">:</span><span 
class="mi">00</span><span class="p">:</span><span class="mi">07</span><span 
class="w"> </span><span class="nc">ERROR</span><span class="w"> </span><span 
class="nc">Executor</span><span class="p">:</span><span class="w"> </span><span 
class="nc">Exception</span><span class="w"> </span><s [...]
+<span class="n">org</span><span class="p">.</span><span 
class="n">apache</span><span class="p">.</span><span 
class="n">comet</span><span class="p">.</span><span 
class="nc">CometNativeException</span><span class="p">:</span><span class="w"> 
</span><span class="nc">Internal</span><span class="w"> </span><span 
class="n">error</span><span class="p">:</span><span class="w"> </span><span 
class="nc">MIN</span><span class="o">/</span><span class="nc">MAX</span><span 
class="w"> </span><span class [...]
+<span class="nc">This</span><span class="w"> </span><span 
class="n">was</span><span class="w"> </span><span class="n">likely</span><span 
class="w"> </span><span class="n">caused</span><span class="w"> </span><span 
class="n">by</span><span class="w"> </span><span class="n">a</span><span 
class="w"> </span><span class="n">bug</span><span class="w"> </span><span 
class="n">in</span><span class="w"> </span><span 
class="nc">DataFusion</span><span class="ss">&#39;s</span><span class="w"> 
</span> [...]
+<span class="w">        </span><span class="n">at</span><span class="w"> 
</span><span class="n">org</span><span class="p">.</span><span 
class="n">apache</span><span class="p">.</span><span 
class="n">comet</span><span class="p">.</span><span 
class="nc">Native</span><span class="p">.</span><span 
class="n">executePlan</span><span class="p">(</span><span 
class="nc">Native</span><span class="w"> </span><span 
class="nc">Method</span><span class="p">)</span>
+<span class="w">        </span><span class="n">at</span><span class="w"> 
</span><span class="n">org</span><span class="p">.</span><span 
class="n">apache</span><span class="p">.</span><span 
class="n">comet</span><span class="p">.</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">executeNative</span><span class="p">(</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">scala</span><span class="p">:</span><span class="mi [...]
+<span class="w">        </span><span class="n">at</span><span class="w"> 
</span><span class="n">org</span><span class="p">.</span><span 
class="n">apache</span><span class="p">.</span><span 
class="n">comet</span><span class="p">.</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">getNextBatch</span><span class="p">(</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">scala</span><span class="p">:</span><span class="mi" [...]
+<span class="w">        </span><span class="n">at</span><span class="w"> 
</span><span class="n">org</span><span class="p">.</span><span 
class="n">apache</span><span class="p">.</span><span 
class="n">comet</span><span class="p">.</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">hasNext</span><span class="p">(</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">scala</span><span class="p">:</span><span class="mi">126< [...]
+</pre></div>
+</div>
+<p>There is a verbose exception option by leveraging DataFusion <a 
class="reference external" 
href="https://arrow.apache.org/datafusion/user-guide/example-usage.html#enable-backtraces";>backtraces</a>
+This option allows to append native DataFusion stacktrace to the original 
error message.
+To enable this option with Comet it is needed to include <code class="docutils 
literal notranslate"><span class="pre">backtrace</span></code> feature in <a 
class="reference external" 
href="https://github.com/apache/arrow-datafusion-comet/blob/main/core/Cargo.toml";>Cargo.toml</a>
 for DataFusion dependencies</p>
+<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">datafusion</span><span 
class="o">-</span><span class="n">common</span> <span class="o">=</span> <span 
class="p">{</span> <span class="n">version</span> <span class="o">=</span> 
<span class="s2">&quot;36.0.0&quot;</span><span class="p">,</span> <span 
class="n">features</span> <span class="o">=</span> <span 
class="p">[</span><span class="s2">&quot;backtrace&quot;</span><span 
class="p">]</spa [...]
+<span class="n">datafusion</span> <span class="o">=</span> <span 
class="p">{</span> <span class="n">default</span><span class="o">-</span><span 
class="n">features</span> <span class="o">=</span> <span 
class="n">false</span><span class="p">,</span> <span class="n">version</span> 
<span class="o">=</span> <span class="s2">&quot;36.0.0&quot;</span><span 
class="p">,</span> <span class="n">features</span> <span class="o">=</span> 
<span class="p">[</span><span class="s2">&quot;unicode_expressio [...]
+</pre></div>
+</div>
+<p>Then build the Comet as <a class="reference external" 
href="https://github.com/apache/arrow-datafusion-comet/blob/main/README.md#getting-started";>described</a></p>
+<p>Start Comet with <code class="docutils literal notranslate"><span 
class="pre">RUST_BACKTRACE=1</span></code></p>
+<div class="highlight-commandline notranslate"><div 
class="highlight"><pre><span></span>RUST_BACKTRACE=1 $SPARK_HOME/spark-shell 
--jars spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar --conf 
spark.sql.extensions=org.apache.comet.CometSparkSessionExtensions --conf 
spark.comet.enabled=true --conf spark.comet.exec.enabled=true --conf 
spark.comet.exec.all.enabled=true
+</pre></div>
+</div>
+<p>Get the expanded exception details</p>
+<div class="highlight-scala notranslate"><div 
class="highlight"><pre><span></span><span class="n">scala</span><span 
class="o">&gt;</span><span class="w"> </span><span class="n">spark</span><span 
class="p">.</span><span class="n">sql</span><span class="p">(</span><span 
class="s">&quot;my_failing_query&quot;</span><span class="p">).</span><span 
class="n">show</span><span class="p">(</span><span class="kc">false</span><span 
class="p">)</span>
+<span class="mi">24</span><span class="o">/</span><span 
class="mi">03</span><span class="o">/</span><span class="mi">05</span><span 
class="w"> </span><span class="mi">17</span><span class="p">:</span><span 
class="mi">00</span><span class="p">:</span><span class="mi">49</span><span 
class="w"> </span><span class="nc">ERROR</span><span class="w"> </span><span 
class="nc">Executor</span><span class="p">:</span><span class="w"> </span><span 
class="nc">Exception</span><span class="w"> </span><s [...]
+<span class="n">org</span><span class="p">.</span><span 
class="n">apache</span><span class="p">.</span><span 
class="n">comet</span><span class="p">.</span><span 
class="nc">CometNativeException</span><span class="p">:</span><span class="w"> 
</span><span class="nc">Internal</span><span class="w"> </span><span 
class="n">error</span><span class="p">:</span><span class="w"> </span><span 
class="nc">MIN</span><span class="o">/</span><span class="nc">MAX</span><span 
class="w"> </span><span class [...]
+
+<span class="n">backtrace</span><span class="p">:</span>
+<span class="w">  </span><span class="mi">0</span><span 
class="p">:</span><span class="w"> </span><span 
class="n">std::backtrace::</span><span class="nc">Backtrace</span><span 
class="n">::create</span>
+<span class="w">  </span><span class="mi">1</span><span 
class="p">:</span><span class="w"> </span><span 
class="n">datafusion_physical_expr::aggregate::min_max::min</span>
+<span class="w">  </span><span class="mi">2</span><span 
class="p">:</span><span class="w"> </span><span class="o">&lt;</span><span 
class="n">datafusion_physical_expr::aggregate::min_max::</span><span 
class="nc">MinAccumulator</span><span class="w"> </span><span 
class="n">as</span><span class="w"> </span><span 
class="n">datafusion_expr::accumulator::</span><span 
class="nc">Accumulator</span><span class="o">&gt;:</span><span 
class="n">:update_batch</span>
+<span class="w">  </span><span class="mi">3</span><span 
class="p">:</span><span class="w"> </span><span class="o">&lt;</span><span 
class="n">futures_util::stream::stream::fuse::</span><span 
class="nc">Fuse</span><span class="o">&lt;</span><span class="nc">S</span><span 
class="o">&gt;</span><span class="w"> </span><span class="n">as</span><span 
class="w"> </span><span class="n">futures_core::stream::</span><span 
class="nc">Stream</span><span class="o">&gt;:</span><span class="n">:poll_nex 
[...]
+<span class="w">  </span><span class="mi">4</span><span 
class="p">:</span><span class="w"> </span><span 
class="n">comet::execution::jni_api::</span><span 
class="nc">Java_org_apache_comet_Native_executePlan</span><span 
class="n">::</span><span class="p">{{</span><span class="n">closure</span><span 
class="p">}}</span>
+<span class="w">  </span><span class="mi">5</span><span 
class="p">:</span><span class="w"> </span><span 
class="n">_Java_org_apache_comet_Native_executePlan</span>
+<span class="w">  </span><span class="p">(</span><span 
class="n">reduced</span><span class="p">)</span>
+
+<span class="nc">This</span><span class="w"> </span><span 
class="n">was</span><span class="w"> </span><span class="n">likely</span><span 
class="w"> </span><span class="n">caused</span><span class="w"> </span><span 
class="n">by</span><span class="w"> </span><span class="n">a</span><span 
class="w"> </span><span class="n">bug</span><span class="w"> </span><span 
class="n">in</span><span class="w"> </span><span 
class="nc">DataFusion</span><span class="ss">&#39;s</span><span class="w"> 
</span> [...]
+<span class="w">        </span><span class="n">at</span><span class="w"> 
</span><span class="n">org</span><span class="p">.</span><span 
class="n">apache</span><span class="p">.</span><span 
class="n">comet</span><span class="p">.</span><span 
class="nc">Native</span><span class="p">.</span><span 
class="n">executePlan</span><span class="p">(</span><span 
class="nc">Native</span><span class="w"> </span><span 
class="nc">Method</span><span class="p">)</span>
+<span class="n">at</span><span class="w"> </span><span 
class="n">org</span><span class="p">.</span><span class="n">apache</span><span 
class="p">.</span><span class="n">comet</span><span class="p">.</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">executeNative</span><span class="p">(</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">scala</span><span class="p">:</span><span class="mi">65</span><span 
class="p">)</span>
+<span class="n">at</span><span class="w"> </span><span 
class="n">org</span><span class="p">.</span><span class="n">apache</span><span 
class="p">.</span><span class="n">comet</span><span class="p">.</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">getNextBatch</span><span class="p">(</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">scala</span><span class="p">:</span><span class="mi">111</span><span 
class="p">)</span>
+<span class="n">at</span><span class="w"> </span><span 
class="n">org</span><span class="p">.</span><span class="n">apache</span><span 
class="p">.</span><span class="n">comet</span><span class="p">.</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">hasNext</span><span class="p">(</span><span 
class="nc">CometExecIterator</span><span class="p">.</span><span 
class="n">scala</span><span class="p">:</span><span class="mi">126</span><span 
class="p">)</span>
+<span class="p">(</span><span class="n">reduced</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>Note:</p>
+<ul class="simple">
+<li><p>The backtrace coverage in DataFusion is still improving. So there is a 
chance the error still not covered, if so feel free to file a <a 
class="reference external" 
href="https://github.com/apache/arrow-datafusion/issues";>ticket</a></p></li>
+<li><p>The backtrace evaluation comes with performance cost and intended 
mostly for debugging purposes</p></li>
+</ul>
+</section>
+
+
+              </div>
+              
+              
+              <!-- Previous / next buttons -->
+<div class='prev-next-area'>
+    <a class='left-prev' id="prev-link" href="development.html" 
title="previous page">
+        <i class="fas fa-angle-left"></i>
+        <div class="prev-next-info">
+            <p class="prev-next-subtitle">previous</p>
+            <p class="prev-next-title">Comet Development Guide</p>
+        </div>
+    </a>
+</div>
+              
+          </main>
+          
+
+      </div>
+    </div>
+  
+    <script 
src="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
+  
+<!-- Based on pydata_sphinx_theme/footer.html -->
+<footer class="footer mt-5 mt-md-0">
+  <div class="container">
+    
+    <div class="footer-item">
+      <p class="copyright">
+    &copy; Copyright 2023-2024, Apache Software Foundation.<br>
+</p>
+    </div>
+    
+    <div class="footer-item">
+      <p class="sphinx-version">
+Created using <a href="http://sphinx-doc.org/";>Sphinx</a> 7.3.7.<br>
+</p>
+    </div>
+    
+    <div class="footer-item">
+      <p>Apache DataFusion, Apache DataFusion Comet, Apache, the Apache 
feather logo, and the Apache DataFusion project logo</p>
+      <p>are either registered trademarks or trademarks of The Apache Software 
Foundation in the United States and other countries.</p>
+    </div>
+  </div>
+</footer>
+
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/contributor-guide/development.html 
b/contributor-guide/development.html
new file mode 100644
index 0000000..7b27461
--- /dev/null
+++ b/contributor-guide/development.html
@@ -0,0 +1,447 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!DOCTYPE html>
+
+<html lang="en" data-content_root="../">
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" 
/><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+    <title>Comet Development Guide &#8212; Apache DataFusion Comet  
documentation</title>
+    
+    <link href="../_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+<link 
href="../_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+  
+    
+    <link rel="stylesheet"
+      href="../_static/vendor/fontawesome/5.13.0/css/all.min.css">
+    <link rel="preload" as="font" type="font/woff2" crossorigin
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
+    <link rel="preload" as="font" type="font/woff2" crossorigin
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
+  
+    
+      
+  
+    
+    <link rel="stylesheet" type="text/css" 
href="../_static/pygments.css?v=a746c00c" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/styles/pydata-sphinx-theme.css?v=1140d252" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/theme_overrides.css?v=c6d785ac" />
+    
+    <link rel="preload" as="script" 
href="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
+  
+    <script src="../_static/documentation_options.js?v=8a448e45"></script>
+    <script src="../_static/doctools.js?v=9a2dae69"></script>
+    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Comet Debugging Guide" href="debugging.html" />
+    <link rel="prev" title="Contributing to Apache DataFusion Comet" 
href="contributing.html" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <meta name="docsearch:language" content="en">
+    
+
+    <!-- Google Analytics -->
+    
+  </head>
+  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
+    
+    <div class="container-fluid" id="banner"></div>
+
+    
+
+
+    <div class="container-xl">
+      <div class="row">
+          
+            
+            <!-- Only show if we have sidebars configured, else just a small 
margin  -->
+            <div class="col-12 col-md-3 bd-sidebar">
+              <div class="sidebar-start-items"><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<form class="bd-search d-flex align-items-center" action="../search.html" 
method="get">
+  <i class="icon fas fa-search"></i>
+  <input type="search" class="form-control" name="q" id="search-input" 
placeholder="Search the docs ..." aria-label="Search the docs ..." 
autocomplete="off" >
+</form>
+
+<nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation">
+  <div class="bd-toc-item active">
+    
+    <p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  User Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="../user-guide/expressions.html">
+   Supported Expressions
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../user-guide/compatibility.html">
+   Compatibility Guide
+  </a>
+ </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Contributor Guide
+ </span>
+</p>
+<ul class="current nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributing.html">
+   Getting Started
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://github.com/apache/datafusion-comet";>
+   Github and Issue Tracker
+  </a>
+ </li>
+ <li class="toctree-l1 current active">
+  <a class="current reference internal" href="#">
+   Comet Development Guide
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="debugging.html">
+   Comet Debugging Guide
+  </a>
+ </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  ASF Links
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference external" href="https://apache.org";>
+   Apache Software Foundation
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" href="https://www.apache.org/licenses/";>
+   License
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://www.apache.org/foundation/sponsorship.html";>
+   Donate
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://www.apache.org/foundation/thanks.html";>
+   Thanks
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" href="https://www.apache.org/security/";>
+   Security
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://www.apache.org/foundation/policies/conduct.html";>
+   Code of conduct
+  </a>
+ </li>
+</ul>
+
+    
+  </div>
+
+  <a class="navbar-brand" href="../index.html">
+    <img src="../_static/images/2x_bgwhite_original.png" class="logo" 
alt="logo">
+  </a>
+</nav>
+
+              </div>
+              <div class="sidebar-end-items">
+              </div>
+            </div>
+            
+          
+
+          
+          <div class="d-none d-xl-block col-xl-2 bd-toc">
+            
+              
+              <div class="toc-item">
+                
+<div class="tocsection onthispage pt-5 pb-3">
+    <i class="fas fa-list"></i> On this page
+</div>
+
+<nav id="bd-toc-nav">
+    <ul class="visible nav section-nav flex-column">
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#project-layout">
+   Project Layout
+  </a>
+ </li>
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#development-setup">
+   Development Setup
+  </a>
+ </li>
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#build-test">
+   Build &amp; Test
+  </a>
+ </li>
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#development-environment">
+   Development Environment
+  </a>
+  <ul class="nav section-nav flex-column">
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#intellij-idea">
+     IntelliJ IDEA
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#clion">
+     CLion
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#running-tests-in-idea">
+     Running Tests in IDEA
+    </a>
+   </li>
+  </ul>
+ </li>
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#benchmark">
+   Benchmark
+  </a>
+ </li>
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#debugging">
+   Debugging
+  </a>
+ </li>
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#submitting-a-pull-request">
+   Submitting a Pull Request
+  </a>
+ </li>
+</ul>
+
+</nav>
+              </div>
+              
+              <div class="toc-item">
+                
+
+<div class="tocsection editthispage">
+    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/contributor-guide/development.md";>
+        <i class="fas fa-pencil-alt"></i> Edit this page
+    </a>
+</div>
+
+              </div>
+              
+            
+          </div>
+          
+
+          
+          
+            
+          
+          <main class="col-12 col-md-9 col-xl-7 py-md-5 pl-md-5 pr-md-4 
bd-content" role="main">
+              
+              <div>
+                
+  <!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<section id="comet-development-guide">
+<h1>Comet Development Guide<a class="headerlink" 
href="#comet-development-guide" title="Link to this heading">¶</a></h1>
+<section id="project-layout">
+<h2>Project Layout<a class="headerlink" href="#project-layout" title="Link to 
this heading">¶</a></h2>
+<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span>├── common     &lt;- common Java/Scala code
+├── conf       &lt;- configuration files
+├── core       &lt;- core native code, in Rust
+├── spark      &lt;- Spark integration
+</pre></div>
+</div>
+</section>
+<section id="development-setup">
+<h2>Development Setup<a class="headerlink" href="#development-setup" 
title="Link to this heading">¶</a></h2>
+<ol class="arabic simple">
+<li><p>Make sure <code class="docutils literal notranslate"><span 
class="pre">JAVA_HOME</span></code> is set and point to JDK 8/11/17 
installation.</p></li>
+<li><p>Install Rust toolchain. The easiest way is to use
+<a class="reference external" href="https://rustup.rs";>rustup</a>.</p></li>
+</ol>
+</section>
+<section id="build-test">
+<h2>Build &amp; Test<a class="headerlink" href="#build-test" title="Link to 
this heading">¶</a></h2>
+<p>A few common commands are specified in project’s <code class="docutils 
literal notranslate"><span class="pre">Makefile</span></code>:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">make</span></code>: compile the entire project, but don’t run 
tests</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">make</span> <span class="pre">test-rust</span></code>: compile the 
project and run tests in Rust side</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">make</span> <span class="pre">test-java</span></code>: compile the 
project and run tests in Java side</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">make</span> <span class="pre">test</span></code>: compile the 
project and run tests in both Rust and Java
+side.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">make</span> <span class="pre">release</span></code>: compile the 
project and creates a release build. This
+is useful when you want to test Comet local installation in another project
+such as Spark.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">make</span> <span class="pre">clean</span></code>: clean up the 
workspace</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">bin/comet-spark-shell</span> <span class="pre">-d</span> <span 
class="pre">.</span> <span class="pre">-o</span> <span 
class="pre">spark/target/</span></code> run Comet spark shell for V1 
datasources</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">bin/comet-spark-shell</span> <span class="pre">-d</span> <span 
class="pre">.</span> <span class="pre">-o</span> <span 
class="pre">spark/target/</span> <span class="pre">--conf</span> <span 
class="pre">spark.sql.sources.useV1SourceList=&quot;&quot;</span></code> run 
Comet spark shell for V2 datasources</p></li>
+</ul>
+</section>
+<section id="development-environment">
+<h2>Development Environment<a class="headerlink" 
href="#development-environment" title="Link to this heading">¶</a></h2>
+<p>Comet is a multi-language project with native code written in Rust and JVM 
code written in Java and Scala.
+For Rust code, the CLion IDE is recommended. For JVM code, IntelliJ IDEA is 
recommended.</p>
+<p>Before opening the project in an IDE, make sure to run <code 
class="docutils literal notranslate"><span class="pre">make</span></code> first 
to generate the necessary files for the IDEs. Currently, it’s mostly about
+generating protobuf message classes for the JVM side. It’s only required to 
run <code class="docutils literal notranslate"><span 
class="pre">make</span></code> once after cloning the repo.</p>
+<section id="intellij-idea">
+<h3>IntelliJ IDEA<a class="headerlink" href="#intellij-idea" title="Link to 
this heading">¶</a></h3>
+<p>First make sure to install the Scala plugin in IntelliJ IDEA.
+After that, you can open the project in IntelliJ IDEA. The IDE should 
automatically detect the project structure and import as a Maven project.</p>
+</section>
+<section id="clion">
+<h3>CLion<a class="headerlink" href="#clion" title="Link to this 
heading">¶</a></h3>
+<p>First make sure to install the Rust plugin in CLion or you can use the 
dedicated Rust IDE: RustRover.
+After that you can open the project in CLion. The IDE should automatically 
detect the project structure and import as a Cargo project.</p>
+</section>
+<section id="running-tests-in-idea">
+<h3>Running Tests in IDEA<a class="headerlink" href="#running-tests-in-idea" 
title="Link to this heading">¶</a></h3>
+<p>Like other Maven projects, you can run tests in IntelliJ IDEA by 
right-clicking on the test class or test method and selecting “Run” or “Debug”.
+However if the tests is related to the native side. Please make sure to run 
<code class="docutils literal notranslate"><span class="pre">make</span> <span 
class="pre">core</span></code> or <code class="docutils literal 
notranslate"><span class="pre">cd</span> <span class="pre">core</span> <span 
class="pre">&amp;&amp;</span> <span class="pre">cargo</span> <span 
class="pre">build</span></code> before running the tests in IDEA.</p>
+</section>
+</section>
+<section id="benchmark">
+<h2>Benchmark<a class="headerlink" href="#benchmark" title="Link to this 
heading">¶</a></h2>
+<p>There’s a <code class="docutils literal notranslate"><span 
class="pre">make</span></code> command to run micro benchmarks in the repo. For
+instance:</p>
+<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">make</span> <span 
class="n">benchmark</span><span class="o">-</span><span 
class="n">org</span><span class="o">.</span><span class="n">apache</span><span 
class="o">.</span><span class="n">spark</span><span class="o">.</span><span 
class="n">sql</span><span class="o">.</span><span 
class="n">benchmark</span><span class="o">.</span><span 
class="n">CometReadBenchmark</span>
+</pre></div>
+</div>
+<p>To run TPC-H or TPC-DS micro benchmarks, please follow the instructions
+in the respective source code, e.g., <code class="docutils literal 
notranslate"><span class="pre">CometTPCHQueryBenchmark</span></code>.</p>
+</section>
+<section id="debugging">
+<h2>Debugging<a class="headerlink" href="#debugging" title="Link to this 
heading">¶</a></h2>
+<p>Comet is a multi-language project with native code written in Rust and JVM 
code written in Java and Scala.
+It is possible to debug both native and JVM code concurrently as described in 
the <a class="reference internal" href="debugging.html"><span class="doc std 
std-doc">DEBUGGING guide</span></a></p>
+</section>
+<section id="submitting-a-pull-request">
+<h2>Submitting a Pull Request<a class="headerlink" 
href="#submitting-a-pull-request" title="Link to this heading">¶</a></h2>
+<p>Comet uses <code class="docutils literal notranslate"><span 
class="pre">cargo</span> <span class="pre">fmt</span></code>, <a 
class="reference external" 
href="https://github.com/scalacenter/scalafix";>Scalafix</a> and <a 
class="reference external" 
href="https://github.com/diffplug/spotless/tree/main/plugin-maven";>Spotless</a> 
to
+automatically format the code. Before submitting a pull request, you can 
simply run <code class="docutils literal notranslate"><span 
class="pre">make</span> <span class="pre">format</span></code> to format the 
code.</p>
+</section>
+</section>
+
+
+              </div>
+              
+              
+              <!-- Previous / next buttons -->
+<div class='prev-next-area'>
+    <a class='left-prev' id="prev-link" href="contributing.html" 
title="previous page">
+        <i class="fas fa-angle-left"></i>
+        <div class="prev-next-info">
+            <p class="prev-next-subtitle">previous</p>
+            <p class="prev-next-title">Contributing to Apache DataFusion 
Comet</p>
+        </div>
+    </a>
+    <a class='right-next' id="next-link" href="debugging.html" title="next 
page">
+    <div class="prev-next-info">
+        <p class="prev-next-subtitle">next</p>
+        <p class="prev-next-title">Comet Debugging Guide</p>
+    </div>
+    <i class="fas fa-angle-right"></i>
+    </a>
+</div>
+              
+          </main>
+          
+
+      </div>
+    </div>
+  
+    <script 
src="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
+  
+<!-- Based on pydata_sphinx_theme/footer.html -->
+<footer class="footer mt-5 mt-md-0">
+  <div class="container">
+    
+    <div class="footer-item">
+      <p class="copyright">
+    &copy; Copyright 2023-2024, Apache Software Foundation.<br>
+</p>
+    </div>
+    
+    <div class="footer-item">
+      <p class="sphinx-version">
+Created using <a href="http://sphinx-doc.org/";>Sphinx</a> 7.3.7.<br>
+</p>
+    </div>
+    
+    <div class="footer-item">
+      <p>Apache DataFusion, Apache DataFusion Comet, Apache, the Apache 
feather logo, and the Apache DataFusion project logo</p>
+      <p>are either registered trademarks or trademarks of The Apache Software 
Foundation in the United States and other countries.</p>
+    </div>
+  </div>
+</footer>
+
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/genindex.html b/genindex.html
index c2c1c54..8a16123 100644
--- a/genindex.html
+++ b/genindex.html
@@ -101,20 +101,47 @@ under the License.
     
     <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
-  Project Links
+  User Guide
  </span>
 </p>
 <ul class="nav bd-sidenav">
  <li class="toctree-l1">
-  <a class="reference internal" href="compatibility.html">
+  <a class="reference internal" href="user-guide/expressions.html">
+   Supported Expressions
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="user-guide/compatibility.html">
    Compatibility Guide
   </a>
  </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Contributor Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributor-guide/contributing.html">
+   Getting Started
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference external" 
href="https://github.com/apache/datafusion-comet";>
    Github and Issue Tracker
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributor-guide/development.html">
+   Comet Development Guide
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributor-guide/debugging.html">
+   Comet Debugging Guide
+  </a>
+ </li>
 </ul>
 <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
diff --git a/index.html b/index.html
index c5b34f9..cc8a388 100644
--- a/index.html
+++ b/index.html
@@ -53,7 +53,7 @@ under the License.
     <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
-    <link rel="next" title="Compatibility Guide" href="compatibility.html" />
+    <link rel="next" title="Supported Spark Expressions" 
href="user-guide/expressions.html" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="docsearch:language" content="en">
     
@@ -103,20 +103,47 @@ under the License.
     
     <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
-  Project Links
+  User Guide
  </span>
 </p>
 <ul class="nav bd-sidenav">
  <li class="toctree-l1">
-  <a class="reference internal" href="compatibility.html">
+  <a class="reference internal" href="user-guide/expressions.html">
+   Supported Expressions
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="user-guide/compatibility.html">
    Compatibility Guide
   </a>
  </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Contributor Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributor-guide/contributing.html">
+   Getting Started
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference external" 
href="https://github.com/apache/datafusion-comet";>
    Github and Issue Tracker
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributor-guide/development.html">
+   Comet Development Guide
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributor-guide/debugging.html">
+   Comet Debugging Guide
+  </a>
+ </li>
 </ul>
 <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
@@ -216,13 +243,21 @@ under the License.
    <a class="github-button" 
href="https://github.com/apache/datafusion-comet/fork"; data-size="large" 
data-show-count="true" aria-label="Fork apache/datafusion-comet on 
GitHub">Fork</a>
 </p><p>Apache DataFusion Comet is an Apache Spark plugin that uses Apache 
DataFusion
 as a native runtime to achieve improvement in terms of query efficiency and 
query runtime.</p>
-<p>This documentation site is currently being developed. The most up-to-date 
documentation can be found in the
-GitHub repository at <a class="reference external" 
href="https://github.com/apache/datafusion-comet";>https://github.com/apache/datafusion-comet</a>.</p>
 <div class="toctree-wrapper compound" id="toc-links">
-<p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Project Links</span></p>
+<p aria-level="2" class="caption" role="heading"><span 
class="caption-text">User Guide</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" 
href="user-guide/expressions.html">Supported Expressions</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="user-guide/compatibility.html">Compatibility Guide</a></li>
+</ul>
+</div>
+<div class="toctree-wrapper compound" id="id1">
+<p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Contributor Guide</span></p>
 <ul>
-<li class="toctree-l1"><a class="reference internal" 
href="compatibility.html">Compatibility Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="contributor-guide/contributing.html">Getting Started</a></li>
 <li class="toctree-l1"><a class="reference external" 
href="https://github.com/apache/datafusion-comet";>Github and Issue 
Tracker</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="contributor-guide/development.html">Comet Development Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="contributor-guide/debugging.html">Comet Debugging Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="contributor-guide/debugging.html#verbose-debug">Verbose debug</a></li>
 </ul>
 </div>
 <div class="toctree-wrapper compound" id="toc-asf-links">
@@ -244,10 +279,10 @@ GitHub repository at <a class="reference external" 
href="https://github.com/apac
               
               <!-- Previous / next buttons -->
 <div class='prev-next-area'>
-    <a class='right-next' id="next-link" href="compatibility.html" title="next 
page">
+    <a class='right-next' id="next-link" href="user-guide/expressions.html" 
title="next page">
     <div class="prev-next-info">
         <p class="prev-next-subtitle">next</p>
-        <p class="prev-next-title">Compatibility Guide</p>
+        <p class="prev-next-title">Supported Spark Expressions</p>
     </div>
     <i class="fas fa-angle-right"></i>
     </a>
diff --git a/objects.inv b/objects.inv
index d1dd80f..fc585e9 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/search.html b/search.html
index eb4c545..7939299 100644
--- a/search.html
+++ b/search.html
@@ -108,20 +108,47 @@ under the License.
     
     <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
-  Project Links
+  User Guide
  </span>
 </p>
 <ul class="nav bd-sidenav">
  <li class="toctree-l1">
-  <a class="reference internal" href="compatibility.html">
+  <a class="reference internal" href="user-guide/expressions.html">
+   Supported Expressions
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="user-guide/compatibility.html">
    Compatibility Guide
   </a>
  </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Contributor Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributor-guide/contributing.html">
+   Getting Started
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference external" 
href="https://github.com/apache/datafusion-comet";>
    Github and Issue Tracker
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributor-guide/development.html">
+   Comet Development Guide
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="contributor-guide/debugging.html">
+   Comet Debugging Guide
+  </a>
+ </li>
 </ul>
 <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
diff --git a/searchindex.js b/searchindex.js
index 370a835..4f796f8 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"ANSI mode": [[0, "ansi-mode"]], "ASF Links": 
[[1, null]], "Apache DataFusion Comet": [[1, "apache-datafusion-comet"]], 
"Cast": [[0, "cast"]], "Compatibility Guide": [[0, "compatibility-guide"]], 
"Project Links": [[1, null]]}, "docnames": ["compatibility", "index"], 
"envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 
1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, 
"sphinx.domains.index": 1, "sphinx.domains.javascript":  [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"ANSI mode": [[4, "ansi-mode"]], "ASF Links": 
[[3, null]], "Additional Info": [[1, "additional-info"]], "After your debugging 
is done,": [[1, "after-your-debugging-is-done"]], "Apache DataFusion Comet": 
[[3, "apache-datafusion-comet"]], "Asking for Help": [[0, "asking-for-help"]], 
"Benchmark": [[2, "benchmark"]], "Build & Test": [[2, "build-test"]], "CLion": 
[[2, "clion"]], "Cast": [[4, "cast"]], "Comet Debugging Guide": [[1, 
"comet-debugging-guide"]], "Com [...]
\ No newline at end of file
diff --git a/compatibility.html b/user-guide/compatibility.html
similarity index 75%
copy from compatibility.html
copy to user-guide/compatibility.html
index a01b954..c8a6aa6 100644
--- a/compatibility.html
+++ b/user-guide/compatibility.html
@@ -19,41 +19,42 @@ under the License.
 
 <!DOCTYPE html>
 
-<html lang="en" data-content_root="./">
+<html lang="en" data-content_root="../">
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" 
/><meta name="viewport" content="width=device-width, initial-scale=1" />
 
     <title>Compatibility Guide &#8212; Apache DataFusion Comet  
documentation</title>
     
-    <link href="_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
-<link 
href="_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+    <link href="../_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+<link 
href="../_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
   
     
     <link rel="stylesheet"
-      href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
+      href="../_static/vendor/fontawesome/5.13.0/css/all.min.css">
     <link rel="preload" as="font" type="font/woff2" crossorigin
-      href="_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
     <link rel="preload" as="font" type="font/woff2" crossorigin
-      href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
   
     
       
   
     
-    <link rel="stylesheet" type="text/css" 
href="_static/pygments.css?v=a746c00c" />
-    <link rel="stylesheet" type="text/css" 
href="_static/styles/pydata-sphinx-theme.css?v=1140d252" />
-    <link rel="stylesheet" type="text/css" 
href="_static/theme_overrides.css?v=c6d785ac" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/pygments.css?v=a746c00c" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/styles/pydata-sphinx-theme.css?v=1140d252" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/theme_overrides.css?v=c6d785ac" />
     
-    <link rel="preload" as="script" 
href="_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
+    <link rel="preload" as="script" 
href="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
   
-    <script src="_static/documentation_options.js?v=8a448e45"></script>
-    <script src="_static/doctools.js?v=9a2dae69"></script>
-    <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script src="../_static/documentation_options.js?v=8a448e45"></script>
+    <script src="../_static/doctools.js?v=9a2dae69"></script>
+    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
-    <link rel="index" title="Index" href="genindex.html" />
-    <link rel="search" title="Search" href="search.html" />
-    <link rel="prev" title="Apache DataFusion Comet" href="index.html" />
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Contributing to Apache DataFusion Comet" 
href="../contributor-guide/contributing.html" />
+    <link rel="prev" title="Supported Spark Expressions" 
href="expressions.html" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="docsearch:language" content="en">
     
@@ -93,7 +94,7 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<form class="bd-search d-flex align-items-center" action="search.html" 
method="get">
+<form class="bd-search d-flex align-items-center" action="../search.html" 
method="get">
   <i class="icon fas fa-search"></i>
   <input type="search" class="form-control" name="q" id="search-input" 
placeholder="Search the docs ..." aria-label="Search the docs ..." 
autocomplete="off" >
 </form>
@@ -103,20 +104,47 @@ under the License.
     
     <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
-  Project Links
+  User Guide
  </span>
 </p>
 <ul class="current nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="expressions.html">
+   Supported Expressions
+  </a>
+ </li>
  <li class="toctree-l1 current active">
   <a class="current reference internal" href="#">
    Compatibility Guide
   </a>
  </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Contributor Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="../contributor-guide/contributing.html">
+   Getting Started
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference external" 
href="https://github.com/apache/datafusion-comet";>
    Github and Issue Tracker
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../contributor-guide/development.html">
+   Comet Development Guide
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../contributor-guide/debugging.html">
+   Comet Debugging Guide
+  </a>
+ </li>
 </ul>
 <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
@@ -159,8 +187,8 @@ under the License.
     
   </div>
 
-  <a class="navbar-brand" href="index.html">
-    <img src="_static/images/2x_bgwhite_original.png" class="logo" alt="logo">
+  <a class="navbar-brand" href="../index.html">
+    <img src="../_static/images/2x_bgwhite_original.png" class="logo" 
alt="logo">
   </a>
 </nav>
 
@@ -202,7 +230,7 @@ under the License.
                 
 
 <div class="tocsection editthispage">
-    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/compatibility.md";>
+    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/user-guide/compatibility.md";>
         <i class="fas fa-pencil-alt"></i> Edit this page
     </a>
 </div>
@@ -265,13 +293,20 @@ guaranteed to be consistent with Spark.</p>
               
               <!-- Previous / next buttons -->
 <div class='prev-next-area'>
-    <a class='left-prev' id="prev-link" href="index.html" title="previous 
page">
+    <a class='left-prev' id="prev-link" href="expressions.html" 
title="previous page">
         <i class="fas fa-angle-left"></i>
         <div class="prev-next-info">
             <p class="prev-next-subtitle">previous</p>
-            <p class="prev-next-title">Apache DataFusion Comet</p>
+            <p class="prev-next-title">Supported Spark Expressions</p>
         </div>
     </a>
+    <a class='right-next' id="next-link" 
href="../contributor-guide/contributing.html" title="next page">
+    <div class="prev-next-info">
+        <p class="prev-next-subtitle">next</p>
+        <p class="prev-next-title">Contributing to Apache DataFusion Comet</p>
+    </div>
+    <i class="fas fa-angle-right"></i>
+    </a>
 </div>
               
           </main>
@@ -280,7 +315,7 @@ guaranteed to be consistent with Spark.</p>
       </div>
     </div>
   
-    <script 
src="_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
+    <script 
src="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
   
 <!-- Based on pydata_sphinx_theme/footer.html -->
 <footer class="footer mt-5 mt-md-0">
diff --git a/compatibility.html b/user-guide/expressions.html
similarity index 57%
rename from compatibility.html
rename to user-guide/expressions.html
index a01b954..b6d8f51 100644
--- a/compatibility.html
+++ b/user-guide/expressions.html
@@ -19,41 +19,42 @@ under the License.
 
 <!DOCTYPE html>
 
-<html lang="en" data-content_root="./">
+<html lang="en" data-content_root="../">
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" 
/><meta name="viewport" content="width=device-width, initial-scale=1" />
 
-    <title>Compatibility Guide &#8212; Apache DataFusion Comet  
documentation</title>
+    <title>Supported Spark Expressions &#8212; Apache DataFusion Comet  
documentation</title>
     
-    <link href="_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
-<link 
href="_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+    <link href="../_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+<link 
href="../_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
   
     
     <link rel="stylesheet"
-      href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
+      href="../_static/vendor/fontawesome/5.13.0/css/all.min.css">
     <link rel="preload" as="font" type="font/woff2" crossorigin
-      href="_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
     <link rel="preload" as="font" type="font/woff2" crossorigin
-      href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
   
     
       
   
     
-    <link rel="stylesheet" type="text/css" 
href="_static/pygments.css?v=a746c00c" />
-    <link rel="stylesheet" type="text/css" 
href="_static/styles/pydata-sphinx-theme.css?v=1140d252" />
-    <link rel="stylesheet" type="text/css" 
href="_static/theme_overrides.css?v=c6d785ac" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/pygments.css?v=a746c00c" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/styles/pydata-sphinx-theme.css?v=1140d252" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/theme_overrides.css?v=c6d785ac" />
     
-    <link rel="preload" as="script" 
href="_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
+    <link rel="preload" as="script" 
href="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
   
-    <script src="_static/documentation_options.js?v=8a448e45"></script>
-    <script src="_static/doctools.js?v=9a2dae69"></script>
-    <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script src="../_static/documentation_options.js?v=8a448e45"></script>
+    <script src="../_static/doctools.js?v=9a2dae69"></script>
+    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
-    <link rel="index" title="Index" href="genindex.html" />
-    <link rel="search" title="Search" href="search.html" />
-    <link rel="prev" title="Apache DataFusion Comet" href="index.html" />
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Compatibility Guide" href="compatibility.html" />
+    <link rel="prev" title="Apache DataFusion Comet" href="../index.html" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="docsearch:language" content="en">
     
@@ -93,7 +94,7 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<form class="bd-search d-flex align-items-center" action="search.html" 
method="get">
+<form class="bd-search d-flex align-items-center" action="../search.html" 
method="get">
   <i class="icon fas fa-search"></i>
   <input type="search" class="form-control" name="q" id="search-input" 
placeholder="Search the docs ..." aria-label="Search the docs ..." 
autocomplete="off" >
 </form>
@@ -103,20 +104,47 @@ under the License.
     
     <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
-  Project Links
+  User Guide
  </span>
 </p>
 <ul class="current nav bd-sidenav">
  <li class="toctree-l1 current active">
   <a class="current reference internal" href="#">
+   Supported Expressions
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="compatibility.html">
    Compatibility Guide
   </a>
  </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Contributor Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="../contributor-guide/contributing.html">
+   Getting Started
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference external" 
href="https://github.com/apache/datafusion-comet";>
    Github and Issue Tracker
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../contributor-guide/development.html">
+   Comet Development Guide
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../contributor-guide/debugging.html">
+   Comet Debugging Guide
+  </a>
+ </li>
 </ul>
 <p aria-level="2" class="caption" role="heading">
  <span class="caption-text">
@@ -159,8 +187,8 @@ under the License.
     
   </div>
 
-  <a class="navbar-brand" href="index.html">
-    <img src="_static/images/2x_bgwhite_original.png" class="logo" alt="logo">
+  <a class="navbar-brand" href="../index.html">
+    <img src="../_static/images/2x_bgwhite_original.png" class="logo" 
alt="logo">
   </a>
 </nav>
 
@@ -177,24 +205,9 @@ under the License.
               
               <div class="toc-item">
                 
-<div class="tocsection onthispage pt-5 pb-3">
-    <i class="fas fa-list"></i> On this page
-</div>
 
 <nav id="bd-toc-nav">
-    <ul class="visible nav section-nav flex-column">
- <li class="toc-h2 nav-item toc-entry">
-  <a class="reference internal nav-link" href="#ansi-mode">
-   ANSI mode
-  </a>
- </li>
- <li class="toc-h2 nav-item toc-entry">
-  <a class="reference internal nav-link" href="#cast">
-   Cast
-  </a>
- </li>
-</ul>
-
+    
 </nav>
               </div>
               
@@ -202,7 +215,7 @@ under the License.
                 
 
 <div class="tocsection editthispage">
-    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/compatibility.md";>
+    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/user-guide/expressions.md";>
         <i class="fas fa-pencil-alt"></i> Edit this page
     </a>
 </div>
@@ -239,24 +252,121 @@ under the License.
   specific language governing permissions and limitations
   under the License.
 -->
-<section id="compatibility-guide">
-<h1>Compatibility Guide<a class="headerlink" href="#compatibility-guide" 
title="Link to this heading">¶</a></h1>
-<p>Comet aims to provide consistent results with the version of Apache Spark 
that is being used.</p>
-<p>This guide offers information about areas of functionality where there are 
known differences.</p>
-<section id="ansi-mode">
-<h2>ANSI mode<a class="headerlink" href="#ansi-mode" title="Link to this 
heading">¶</a></h2>
-<p>Comet currently ignores ANSI mode in most cases, and therefore can produce 
different results than Spark. By default,
-Comet will fall back to Spark if ANSI mode is enabled. To enable Comet to 
accelerate queries when ANSI mode is enabled,
-specify <code class="docutils literal notranslate"><span 
class="pre">spark.comet.ansi.enabled=true</span></code> in the Spark 
configuration. Comet’s ANSI support is experimental and should not
-be used in production.</p>
-<p>There is an <a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/313";>epic</a> where we 
are tracking the work to fully implement ANSI support.</p>
-</section>
-<section id="cast">
-<h2>Cast<a class="headerlink" href="#cast" title="Link to this 
heading">¶</a></h2>
-<p>Comet currently delegates to Apache DataFusion for most cast operations, 
and this means that the behavior is not
-guaranteed to be consistent with Spark.</p>
-<p>There is an <a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/286";>epic</a> where we 
are tracking the work to implement Spark-compatible cast expressions.</p>
-</section>
+<section id="supported-spark-expressions">
+<h1>Supported Spark Expressions<a class="headerlink" 
href="#supported-spark-expressions" title="Link to this heading">¶</a></h1>
+<p>The following Spark expressions are currently available:</p>
+<ul class="simple">
+<li><p>Literals</p></li>
+<li><p>Arithmetic Operators</p>
+<ul>
+<li><p>UnaryMinus</p></li>
+<li><p>Add/Minus/Multiply/Divide/Remainder</p></li>
+</ul>
+</li>
+<li><p>Conditional functions</p>
+<ul>
+<li><p>Case When</p></li>
+<li><p>If</p></li>
+</ul>
+</li>
+<li><p>Cast</p></li>
+<li><p>Coalesce</p></li>
+<li><p>BloomFilterMightContain</p></li>
+<li><p>Boolean functions</p>
+<ul>
+<li><p>And</p></li>
+<li><p>Or</p></li>
+<li><p>Not</p></li>
+<li><p>EqualTo</p></li>
+<li><p>EqualNullSafe</p></li>
+<li><p>GreaterThan</p></li>
+<li><p>GreaterThanOrEqual</p></li>
+<li><p>LessThan</p></li>
+<li><p>LessThanOrEqual</p></li>
+<li><p>IsNull</p></li>
+<li><p>IsNotNull</p></li>
+<li><p>In</p></li>
+</ul>
+</li>
+<li><p>String functions</p>
+<ul>
+<li><p>Substring</p></li>
+<li><p>Coalesce</p></li>
+<li><p>StringSpace</p></li>
+<li><p>Like</p></li>
+<li><p>Contains</p></li>
+<li><p>Startswith</p></li>
+<li><p>Endswith</p></li>
+<li><p>Ascii</p></li>
+<li><p>Bit_length</p></li>
+<li><p>Octet_length</p></li>
+<li><p>Upper</p></li>
+<li><p>Lower</p></li>
+<li><p>Chr</p></li>
+<li><p>Initcap</p></li>
+<li><p>Trim/Btrim/Ltrim/Rtrim</p></li>
+<li><p>Concat_ws</p></li>
+<li><p>Repeat</p></li>
+<li><p>Length</p></li>
+<li><p>Reverse</p></li>
+<li><p>Instr</p></li>
+<li><p>Replace</p></li>
+<li><p>Translate</p></li>
+</ul>
+</li>
+<li><p>Bitwise functions</p>
+<ul>
+<li><p>Shiftright/Shiftleft</p></li>
+</ul>
+</li>
+<li><p>Date/Time functions</p>
+<ul>
+<li><p>Year/Hour/Minute/Second</p></li>
+</ul>
+</li>
+<li><p>Math functions</p>
+<ul>
+<li><p>Abs</p></li>
+<li><p>Acos</p></li>
+<li><p>Asin</p></li>
+<li><p>Atan</p></li>
+<li><p>Atan2</p></li>
+<li><p>Cos</p></li>
+<li><p>Exp</p></li>
+<li><p>Ln</p></li>
+<li><p>Log10</p></li>
+<li><p>Log2</p></li>
+<li><p>Pow</p></li>
+<li><p>Round</p></li>
+<li><p>Signum</p></li>
+<li><p>Sin</p></li>
+<li><p>Sqrt</p></li>
+<li><p>Tan</p></li>
+<li><p>Ceil</p></li>
+<li><p>Floor</p></li>
+</ul>
+</li>
+<li><p>Aggregate functions</p>
+<ul>
+<li><p>Count</p></li>
+<li><p>Sum</p></li>
+<li><p>Max</p></li>
+<li><p>Min</p></li>
+<li><p>Avg</p></li>
+<li><p>First</p></li>
+<li><p>Last</p></li>
+<li><p>BitAnd</p></li>
+<li><p>BitOr</p></li>
+<li><p>BitXor</p></li>
+<li><p>BoolAnd</p></li>
+<li><p>BoolOr</p></li>
+<li><p>CovPopulation</p></li>
+<li><p>CovSample</p></li>
+<li><p>VariancePop</p></li>
+<li><p>VarianceSamp</p></li>
+</ul>
+</li>
+</ul>
 </section>
 
 
@@ -265,13 +375,20 @@ guaranteed to be consistent with Spark.</p>
               
               <!-- Previous / next buttons -->
 <div class='prev-next-area'>
-    <a class='left-prev' id="prev-link" href="index.html" title="previous 
page">
+    <a class='left-prev' id="prev-link" href="../index.html" title="previous 
page">
         <i class="fas fa-angle-left"></i>
         <div class="prev-next-info">
             <p class="prev-next-subtitle">previous</p>
             <p class="prev-next-title">Apache DataFusion Comet</p>
         </div>
     </a>
+    <a class='right-next' id="next-link" href="compatibility.html" title="next 
page">
+    <div class="prev-next-info">
+        <p class="prev-next-subtitle">next</p>
+        <p class="prev-next-title">Compatibility Guide</p>
+    </div>
+    <i class="fas fa-angle-right"></i>
+    </a>
 </div>
               
           </main>
@@ -280,7 +397,7 @@ guaranteed to be consistent with Spark.</p>
       </div>
     </div>
   
-    <script 
src="_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
+    <script 
src="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
   
 <!-- Based on pydata_sphinx_theme/footer.html -->
 <footer class="footer mt-5 mt-md-0">


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

Reply via email to