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/arrow-datafusion.git
The following commit(s) were added to refs/heads/asf-site by this push: new 5be7de929a Publish built docs triggered by 80d1750fda0f8d1d09d7bbf5b05662b1f6618954 5be7de929a is described below commit 5be7de929a6604db29ef1e4735da90be0afef6c9 Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com> AuthorDate: Fri Jun 23 19:25:10 2023 +0000 Publish built docs triggered by 80d1750fda0f8d1d09d7bbf5b05662b1f6618954 --- _sources/user-guide/sql/sql_status.md.txt | 143 ++++++++++---------------- searchindex.js | 2 +- user-guide/sql/index.html | 1 + user-guide/sql/sql_status.html | 164 +++++++++++------------------- 4 files changed, 116 insertions(+), 194 deletions(-) diff --git a/_sources/user-guide/sql/sql_status.md.txt b/_sources/user-guide/sql/sql_status.md.txt index 6075a23330..709534adf4 100644 --- a/_sources/user-guide/sql/sql_status.md.txt +++ b/_sources/user-guide/sql/sql_status.md.txt @@ -34,97 +34,61 @@ ## SQL Support -- [x] Projection -- [x] Filter (WHERE) -- [x] Filter post-aggregate (HAVING) -- [x] Limit -- [x] Aggregate -- [x] Common math functions -- [x] cast -- [x] try_cast +- [x] Projection (`SELECT`) +- [x] Filter (`WHERE`) +- [x] Filter post-aggregate (`HAVING`) +- [x] Sorting (`ORDER BY`) +- [x] Limit (`LIMIT` +- [x] Aggregate (`GROUP BY`) +- [x] cast /try_cast - [x] [`VALUES` lists](https://www.postgresql.org/docs/current/queries-values.html) -- Postgres compatible String functions - - [x] ascii - - [x] bit_length - - [x] btrim - - [x] char_length - - [x] character_length - - [x] chr - - [x] concat - - [x] concat_ws - - [x] initcap - - [x] left - - [x] length - - [x] lpad - - [x] ltrim - - [x] octet_length - - [x] regexp_replace - - [x] repeat - - [x] replace - - [x] reverse - - [x] right - - [x] rpad - - [x] rtrim - - [x] split_part - - [x] starts_with - - [x] strpos - - [x] substr - - [x] to_hex - - [x] translate - - [x] trim -- Conditional functions - - [x] nullif - - [x] case - - [x] coalesce -- Approximation functions - - [x] approx_distinct - - [x] approx_median - - [x] approx_percentile_cont - - [x] approx_percentile_cont_with_weight -- Common date/time functions - - [ ] Basic date functions - - [ ] Basic time functions - - [x] Basic timestamp functions - - [x] [to_timestamp](./scalar_functions.md#to_timestamp) - - [x] [to_timestamp_millis](./scalar_functions.md#to_timestamp_millis) - - [x] [to_timestamp_micros](./scalar_functions.md#to_timestamp_micros) - - [x] [to_timestamp_seconds](./scalar_functions.md#to_timestamp_seconds) - - [x] [extract](./scalar_functions.md#extract) - - [x] [date_part](./scalar_functions.md#date_part) -- nested functions - - [x] Array of columns +- [x] [String Functions](./scalar_functions.md#string-functions) +- [x] [Conditional Functions](./scalar_functions.md#conditional-functions) +- [x] [Time and Date Functions](./scalar_functions.md#time-and-date-functions) +- [x] [Math Functions](./scalar_functions.md#math-functions) +- [x] [Aggregate Functions](./aggregate_functions.md) (`SUM`, `MEDIAN`, and many more) - [x] Schema Queries - - [x] SHOW TABLES - - [x] SHOW COLUMNS FROM <table/view> - - [x] SHOW CREATE TABLE <view> - - [x] information_schema.{tables, columns, views} - - [ ] information_schema other views -- [x] Sorting -- [ ] Nested types -- [ ] Lists + - [x] `SHOW TABLES` + - [x] `SHOW COLUMNS FROM <table/view>` + - [x] `SHOW CREATE TABLE <view>` + - [x] Basic SQL [Information Schema](./information_schema.md) (`TABLES`, `VIEWS`, `COLUMNS`) + - [ ] Full SQL [Information Schema](./information_schema.md) support +- [ ] Support for nested types (`ARRAY`/`LIST` and `STRUCT`. See [#2326](https://github.com/apache/arrow-datafusion/issues/2326) for details) + - [x] Read support + - [x] Write support + - [x] Field access (`col['field']` and [`col[1]`]) + - [x] [Array Functions](./scalar_functions.md#array-functions) + - [ ] [Struct Functions](./scalar_functions.md#struct-functions) + - [x] `struct` + - [ ] [Postgres JSON operators](https://github.com/apache/arrow-datafusion/issues/6631) (`->`, `->>`, etc.) - [x] Subqueries -- [x] Common table expressions -- [x] Set Operations - - [x] UNION ALL - - [x] UNION - - [x] INTERSECT - - [x] INTERSECT ALL - - [x] EXCEPT - - [x] EXCEPT ALL -- [x] Joins - - [x] INNER JOIN - - [x] LEFT JOIN - - [x] RIGHT JOIN - - [x] FULL JOIN - - [x] CROSS JOIN -- [ ] Window - - [x] Empty window - - [x] Common window functions - - [x] Window with PARTITION BY clause - - [x] Window with ORDER BY clause - - [ ] Window with FILTER clause - - [ ] [Window with custom WINDOW FRAME](https://github.com/apache/arrow-datafusion/issues/361) - - [ ] UDF and UDAF for window functions +- [x] Common Table Expressions (CTE) +- [x] Set Operations (`UNION [ALL]`, `INTERSECT [ALL]`, `EXCEPT[ALL]`) +- [x] Joins (`INNER`, `LEFT`, `RIGHT`, `FULL`, `CROSS`) +- [x] Window Functions + - [x] Empty (`OVER()`) + - [x] Partitioning and ordering: (`OVER(PARTITION BY <..> ORDER BY <..>)`) + - [x] Custom Window (`ORDER BY time ROWS BETWEEN 2 PRECEDING AND 0 FOLLOWING)`) + - [x] User Defined Window and Aggregate Functions +- [x] Catalogs + - [x] Schemas (`CREATE / DROP SCHEMA`) + - [x] Tables (`CREATE / DROP TABLE`, `CREATE TABLE AS SELECT`) +- [ ] Data Insert + - [x] `INSERT INTO` + - [ ] `COPY .. INTO ..` + - [x] CSV + - [ ] JSON + - [ ] Parquet + - [ ] Avro + +## Runtime + +- [x] Streaming Grouping +- [x] Streaming Window Evaluation +- [x] Memory limits enforced +- [x] Spilling (to disk) Sort +- [ ] Spilling (to disk) Grouping +- [ ] Spilling (to disk) Joins ## Data Sources @@ -132,8 +96,7 @@ In addition to allowing arbitrary datasources via the `TableProvider` trait, DataFusion includes built in support for the following formats: - [x] CSV -- [x] Parquet primitive types -- [x] Parquet nested types +- [x] Parquet (for all primitive and nested types) - [x] JSON - [x] Avro - [x] Arrow diff --git a/searchindex.js b/searchindex.js index 8fe5215072..f858125249 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["contributor-guide/architecture", "contributor-guide/communication", "contributor-guide/index", "contributor-guide/quarterly_roadmap", "contributor-guide/roadmap", "contributor-guide/specification/index", "contributor-guide/specification/invariants", "contributor-guide/specification/output-field-name-semantic", "index", "user-guide/cli", "user-guide/configs", "user-guide/dataframe", "user-guide/example-usage", "user-guide/expressions", "user-guide/faq", "use [...] \ No newline at end of file +Search.setIndex({"docnames": ["contributor-guide/architecture", "contributor-guide/communication", "contributor-guide/index", "contributor-guide/quarterly_roadmap", "contributor-guide/roadmap", "contributor-guide/specification/index", "contributor-guide/specification/invariants", "contributor-guide/specification/output-field-name-semantic", "index", "user-guide/cli", "user-guide/configs", "user-guide/dataframe", "user-guide/example-usage", "user-guide/expressions", "user-guide/faq", "use [...] \ No newline at end of file diff --git a/user-guide/sql/index.html b/user-guide/sql/index.html index fe5d494bd9..33e188dcd7 100644 --- a/user-guide/sql/index.html +++ b/user-guide/sql/index.html @@ -380,6 +380,7 @@ <li class="toctree-l1"><a class="reference internal" href="sql_status.html">Status</a><ul> <li class="toctree-l2"><a class="reference internal" href="sql_status.html#general">General</a></li> <li class="toctree-l2"><a class="reference internal" href="sql_status.html#sql-support">SQL Support</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_status.html#runtime">Runtime</a></li> <li class="toctree-l2"><a class="reference internal" href="sql_status.html#data-sources">Data Sources</a></li> </ul> </li> diff --git a/user-guide/sql/sql_status.html b/user-guide/sql/sql_status.html index 17f0b0761a..eadc1a95a2 100644 --- a/user-guide/sql/sql_status.html +++ b/user-guide/sql/sql_status.html @@ -288,6 +288,11 @@ SQL Support </a> </li> + <li class="toc-h2 nav-item toc-entry"> + <a class="reference internal nav-link" href="#runtime"> + Runtime + </a> + </li> <li class="toc-h2 nav-item toc-entry"> <a class="reference internal nav-link" href="#data-sources"> Data Sources @@ -359,137 +364,90 @@ <section id="sql-support"> <h2>SQL Support<a class="headerlink" href="#sql-support" title="Permalink to this heading">¶</a></h2> <ul class="contains-task-list simple"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Projection</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Filter (WHERE)</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Filter post-aggregate (HAVING)</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Limit</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Aggregate</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Common math functions</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> cast</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> try_cast</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Projection (<code class="docutils literal notranslate"><span class="pre">SELECT</span></code>)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Filter (<code class="docutils literal notranslate"><span class="pre">WHERE</span></code>)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Filter post-aggregate (<code class="docutils literal notranslate"><span class="pre">HAVING</span></code>)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Sorting (<code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code>)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Limit (<code class="docutils literal notranslate"><span class="pre">LIMIT</span></code></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Aggregate (<code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code>)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> cast /try_cast</p></li> <li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference external" href="https://www.postgresql.org/docs/current/queries-values.html"><code class="docutils literal notranslate"><span class="pre">VALUES</span></code> lists</a></p></li> -<li><p>Postgres compatible String functions</p> -<ul class="contains-task-list"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> ascii</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> bit_length</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> btrim</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> char_length</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> character_length</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> chr</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> concat</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> concat_ws</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> initcap</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> left</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> length</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> lpad</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> ltrim</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> octet_length</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> regexp_replace</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> repeat</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> replace</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> reverse</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> right</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> rpad</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> rtrim</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> split_part</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> starts_with</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> strpos</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> substr</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> to_hex</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> translate</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> trim</p></li> -</ul> -</li> -<li><p>Conditional functions</p> -<ul class="contains-task-list"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> nullif</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> case</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> coalesce</p></li> -</ul> -</li> -<li><p>Approximation functions</p> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#string-functions"><span class="std std-ref">String Functions</span></a></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#conditional-functions"><span class="std std-ref">Conditional Functions</span></a></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#time-and-date-functions"><span class="std std-ref">Time and Date Functions</span></a></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#math-functions"><span class="std std-ref">Math Functions</span></a></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="aggregate_functions.html"><span class="std std-doc">Aggregate Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">SUM</span></code>, <code class="docutils literal notranslate"><span class="pre">MEDIAN</span></code>, and many more)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Schema Queries</p> <ul class="contains-task-list"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> approx_distinct</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> approx_median</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> approx_percentile_cont</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> approx_percentile_cont_with_weight</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <code class="docutils literal notranslate"><span class="pre">SHOW</span> <span class="pre">TABLES</span></code></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <code class="docutils literal notranslate"><span class="pre">SHOW</span> <span class="pre">COLUMNS</span> <span class="pre">FROM</span> <span class="pre"><table/view></span></code></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <code class="docutils literal notranslate"><span class="pre">SHOW</span> <span class="pre">CREATE</span> <span class="pre">TABLE</span> <span class="pre"><view></span></code></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Basic SQL <a class="reference internal" href="information_schema.html"><span class="std std-doc">Information Schema</span></a> (<code class="docutils literal notranslate"><span class="pre">TABLES</span></code>, <code class="docutils literal notranslate"><span class="pre">VIEWS</span></code>, <code class="docutils literal notranslate"><span class="pre">COLUMNS</span> [...] +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Full SQL <a class="reference internal" href="information_schema.html"><span class="std std-doc">Information Schema</span></a> support</p></li> </ul> </li> -<li><p>Common date/time functions</p> +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Support for nested types (<code class="docutils literal notranslate"><span class="pre">ARRAY</span></code>/<code class="docutils literal notranslate"><span class="pre">LIST</span></code> and <code class="docutils literal notranslate"><span class="pre">STRUCT</span></code>. See <a class="reference external" href="https://github.com/apache/arrow-datafusion/issues/2326">#2326</a> for de [...] <ul class="contains-task-list"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Basic date functions</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Basic time functions</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Basic timestamp functions</p> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Read support</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Write support</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Field access (<code class="docutils literal notranslate"><span class="pre">col['field']</span></code> and [<code class="docutils literal notranslate"><span class="pre">col[1]</span></code>])</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#array-functions"><span class="std std-ref">Array Functions</span></a></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#struct-functions"><span class="std std-ref">Struct Functions</span></a></p> <ul class="contains-task-list"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#to-timestamp"><span class="std std-ref">to_timestamp</span></a></p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#to-timestamp-millis"><span class="std std-ref">to_timestamp_millis</span></a></p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#to-timestamp-micros"><span class="std std-ref">to_timestamp_micros</span></a></p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#to-timestamp-seconds"><span class="std std-ref">to_timestamp_seconds</span></a></p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#extract"><span class="std std-ref">extract</span></a></p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <a class="reference internal" href="scalar_functions.html#date-part"><span class="std std-ref">date_part</span></a></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <code class="docutils literal notranslate"><span class="pre">struct</span></code></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> <a class="reference external" href="https://github.com/apache/arrow-datafusion/issues/6631">Postgres JSON operators</a> (<code class="docutils literal notranslate"><span class="pre">-></span></code>, <code class="docutils literal notranslate"><span class="pre">->></span></code>, etc.)</p></li> </ul> </li> </ul> </li> -<li><p>nested functions</p> -<ul class="contains-task-list"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Array of columns</p></li> -</ul> -</li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Schema Queries</p> -<ul class="contains-task-list"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> SHOW TABLES</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> SHOW COLUMNS FROM <table/view></p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> SHOW CREATE TABLE <view></p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> information_schema.{tables, columns, views}</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> information_schema other views</p></li> -</ul> -</li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Sorting</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Nested types</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Lists</p></li> <li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Subqueries</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Common table expressions</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Set Operations</p> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Common Table Expressions (CTE)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Set Operations (<code class="docutils literal notranslate"><span class="pre">UNION</span> <span class="pre">[ALL]</span></code>, <code class="docutils literal notranslate"><span class="pre">INTERSECT</span> <span class="pre">[ALL]</span></code>, <code class="docutils literal notranslate"><span class="pre">EXCEPT[ALL]</span></code>)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Joins (<code class="docutils literal notranslate"><span class="pre">INNER</span></code>, <code class="docutils literal notranslate"><span class="pre">LEFT</span></code>, <code class="docutils literal notranslate"><span class="pre">RIGHT</span></code>, <code class="docutils literal notranslate"><span class="pre">FULL</span></code>, <code class="docutils literal notra [...] +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Window Functions</p> <ul class="contains-task-list"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> UNION ALL</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> UNION</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> INTERSECT</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> INTERSECT ALL</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> EXCEPT</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> EXCEPT ALL</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Empty (<code class="docutils literal notranslate"><span class="pre">OVER()</span></code>)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Partitioning and ordering: (<code class="docutils literal notranslate"><span class="pre">OVER(PARTITION</span> <span class="pre">BY</span> <span class="pre"><..></span> <span class="pre">ORDER</span> <span class="pre">BY</span> <span class="pre"><..>)</span></code>)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Custom Window (<code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span> <span class="pre">time</span> <span class="pre">ROWS</span> <span class="pre">BETWEEN</span> <span class="pre">2</span> <span class="pre">PRECEDING</span> <span class="pre">AND</span> <span class="pre">0</span> <span class="pre">FOLLOWING)</span></cod [...] +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> User Defined Window and Aggregate Functions</p></li> </ul> </li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Joins</p> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Catalogs</p> <ul class="contains-task-list"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> INNER JOIN</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> LEFT JOIN</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> RIGHT JOIN</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> FULL JOIN</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> CROSS JOIN</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Schemas (<code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">/</span> <span class="pre">DROP</span> <span class="pre">SCHEMA</span></code>)</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Tables (<code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">/</span> <span class="pre">DROP</span> <span class="pre">TABLE</span></code>, <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">TABLE</span> <span class="pre">AS</span> <span class="pre">SELECT</span></code>)</p></li> </ul> </li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Window</p> +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Data Insert</p> <ul class="contains-task-list"> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Empty window</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Common window functions</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Window with PARTITION BY clause</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Window with ORDER BY clause</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Window with FILTER clause</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> <a class="reference external" href="https://github.com/apache/arrow-datafusion/issues/361">Window with custom WINDOW FRAME</a></p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> UDF and UDAF for window functions</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> <code class="docutils literal notranslate"><span class="pre">INSERT</span> <span class="pre">INTO</span></code></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> <code class="docutils literal notranslate"><span class="pre">COPY</span> <span class="pre">..</span> <span class="pre">INTO</span> <span class="pre">..</span></code></p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> CSV</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> JSON</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Parquet</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Avro</p></li> </ul> </li> </ul> </section> +<section id="runtime"> +<h2>Runtime<a class="headerlink" href="#runtime" title="Permalink to this heading">¶</a></h2> +<ul class="contains-task-list simple"> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Streaming Grouping</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Streaming Window Evaluation</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Memory limits enforced</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Spilling (to disk) Sort</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Spilling (to disk) Grouping</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" disabled="disabled" type="checkbox"> Spilling (to disk) Joins</p></li> +</ul> +</section> <section id="data-sources"> <h2>Data Sources<a class="headerlink" href="#data-sources" title="Permalink to this heading">¶</a></h2> <p>In addition to allowing arbitrary datasources via the <code class="docutils literal notranslate"><span class="pre">TableProvider</span></code> trait, DataFusion includes built in support for the following formats:</p> <ul class="contains-task-list simple"> <li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> CSV</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Parquet primitive types</p></li> -<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Parquet nested types</p></li> +<li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Parquet (for all primitive and nested types)</p></li> <li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> JSON</p></li> <li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Avro</p></li> <li class="task-list-item"><p><input class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox"> Arrow</p></li>