Status

General

  • [x] SQL Parser
  • [x] SQL Query Planner
  • [x] Query Optimizer
  • [x] Constant folding
  • [x] Join Reordering
  • [x] Limit Pushdown
  • [x] Projection push down
  • [x] Predicate push down
  • [x] Type coercion
  • [x] Parallel query execution

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] VALUES lists
  • 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
  • nested functions
    • [x] Array of columns
  • [x] Schema Queries
    • [x] SHOW TABLES
    • [x] SHOW COLUMNS FROM <table/view>
    • [x] SHOW CREATE TABLE
    • [x] information_schema.{tables, columns, views}
    • [ ] information_schema other views
  • [x] Sorting
  • [ ] Nested types
  • [ ] Lists
  • [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
    • [ ] UDF and UDAF for window functions

Data Sources

  • [x] CSV
  • [x] Parquet primitive types
  • [ ] Parquet nested types
  • [x] JSON
  • [x] Avro