Status

General

  • SQL Parser

  • SQL Query Planner

  • Query Optimizer

  • Constant folding

  • Join Reordering

  • Limit Pushdown

  • Projection push down

  • Predicate push down

  • Type coercion

  • Parallel query execution

SQL Support

  • Projection

  • Filter (WHERE)

  • Filter post-aggregate (HAVING)

  • Limit

  • Aggregate

  • Common math functions

  • cast

  • try_cast

  • VALUES lists

  • Postgres compatible String functions

    • ascii

    • bit_length

    • btrim

    • char_length

    • character_length

    • chr

    • concat

    • concat_ws

    • initcap

    • left

    • length

    • lpad

    • ltrim

    • octet_length

    • regexp_replace

    • repeat

    • replace

    • reverse

    • right

    • rpad

    • rtrim

    • split_part

    • starts_with

    • strpos

    • substr

    • to_hex

    • translate

    • trim

  • Conditional functions

    • nullif

    • case

    • coalesce

  • Approximation functions

    • approx_distinct

    • approx_median

    • approx_percentile_cont

    • approx_percentile_cont_with_weight

  • Common date/time functions

  • nested functions

    • Array of columns

  • Schema Queries

    • SHOW TABLES

    • SHOW COLUMNS FROM <table/view>

    • SHOW CREATE TABLE

    • information_schema.{tables, columns, views}

    • information_schema other views

  • Sorting

  • Nested types

  • Lists

  • Subqueries

  • Common table expressions

  • Set Operations

    • UNION ALL

    • UNION

    • INTERSECT

    • INTERSECT ALL

    • EXCEPT

    • EXCEPT ALL

  • Joins

    • INNER JOIN

    • LEFT JOIN

    • RIGHT JOIN

    • FULL JOIN

    • CROSS JOIN

  • Window

    • Empty window

    • Common window functions

    • Window with PARTITION BY clause

    • Window with ORDER BY clause

    • Window with FILTER clause

    • Window with custom WINDOW FRAME

    • UDF and UDAF for window functions

Data Sources

In addition to allowing arbitrary datasources via the TableProvider trait, DataFusion includes built in support for the following formats:

  • CSV

  • Parquet primitive types

  • Parquet nested types

  • JSON

  • Avro

  • Arrow