opteryx
opteryx copied to clipboard
🦖 A SQL-on-everything Query Engine you can execute over multiple databases and file formats. Query your data, where it lives.
~~~sql select p_brand, p_type, p_size, count(distinct ps_suppkey) as supplier_cnt from data.tpch.partsupp, data.tpch.part where p_partkey = ps_partkey and p_brand 'Brand#34' and p_type not like 'ECONOMY BRUSHED%' and p_size in (22, 14,...
~~~sql SELECT ('a', 'b', 'c')[2] AS three ~~~ > File "opteryx/compiled/list_ops/cython_list_ops.pyx", line 210, in opteryx.compiled.list_ops.cython_list_ops.cython_get_element_op cpdef cnp.ndarray cython_get_element_op(cnp.ndarray[object, ndim=1] array, int key): ValueError: Buffer has wrong number of dimensions (expected...
https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_group-concat This is newly supported by the parser
SQLTools SQLTools ✨ SQLTools is a lightweight SQL client for VS Code, it offers you database management, query execution, and results the visualization directly within the editor.
they run locally in 8 sec, on AWS in 30 sec
~~~ AFTER COST OPTIMIZATION └─ EXIT └─ FILTER (True OR name = 'Saturn') └─ READ ($planets) [name] ~~~ We can apply these rules: TRUE OR X => TRUE FALSE OR...
Functions which work on dates and timestamps generally don't work on Linux Epoch timestamps `extract(minute FROM EventTime)` ~~~ ┌────┬────────────┐ │ │ EventTime │ │ │ INTEGER │ ╞════╪════════════╡ │ 1...
Combining Filters and Aggregation: If possible, combine the COUNT(*) > 100000 filter with the aggregation step to minimize intermediate results. ~~~sql SELECT CounterID, AVG(length(URL)) AS l, COUNT(*) AS c FROM...
CF https://github.com/mabel-dev/opteryx/issues/1696 Where we have a limit, should push until we hit a: - INNER JOIN - FILTER - AGGREGATE If we hit a LEFT JOIN, we should push past...
### Thanks for stopping by to let us know something could be better! **Is your feature request related to a problem? Please describe.** _A clear and concise description of what...