Releases
9.2.0
9.2.0 (2024-07-22)
Features
api: accept more input types in ibis.range
(#9659 ) (310ad30 )
api: add nulls_first=False
argument to order_by
(#9385 ) (ce9011e )
api: add TableUnnest
operation to support cross-join unnest semantics as well as offset
(#9423 ) (3352a84 )
api: add positional joins (#9533 ) (85ea9da )
api: allow grouping by scalar values (#9451 ) (14f1821 )
api: support deferred or string column names in cov
/corr
methods (#9657 ) (4d135b3 )
api: support selectors in window function order_by
and group_by
(#9649 ) (0ad47de )
backends: support creation from a DB-API con (#9603 ) (fc4d1e3 )
bigquery: implement CountDistinctStar (#9470 ) (273e4bc )
caching: tie lifetime of cached tables to python refs (#9477 ) (f51546e )
datafusion: datafusion enhancements (#9544 ) (f11ca43 )
dtypes: fall back to dt.unknown
for unknown types (#9567 ) (6e0b5f5 )
dtypes: fall back to dt.unknown
for unknown types (#9576 ) (56a10d2 )
duckdb: use delta_scan
instead of reading pyarrow datasets (#9566 ) (0ff595e )
flink: create views from more mem data types (#9622 ) (b83fc2b )
geospatial: use geoarrow extension types when returning geometry columns as pyarrow (#9549 ) (cba7367 )
polars: add more accurate type mapping for timestamps (#8954 ) (3eafac4 )
polars: support version 1.0 and later (#9516 ) (62a1864 )
postgres: support basic jsonb type and existing operations (#9630 ) (7179cc6 )
pyarrow: support __arrow_c_schema__
on ibis.Schema
objects (#9665 ) (00a776e )
pyspark: implement new experimental read/write directory methods (#9272 ) (adade5e )
Bug Fixes
api: add support for using deferreds in the argmin
/argmax
key
argument (#9652 ) (3f05cbc )
bigquery: escape table names with spaces for bigquery backend (#9589 ) (ca21dbb )
bigquery: support microseconds in time literals (#9610 ) (c876abc ), closes #9609
clickhouse: generate redundant aliases to workaround clickhouse naming behavior (#9525 ) (b44dac2 ), closes #9508
clickhouse: support Date32
database type (#9509 ) (efa6fb7 )
datatypes: proper handling of srid in geospatial datatypes (#9519 ) (a3ceb59 )
deps: update dependency datafusion to v39 (#9506 ) (21ef0a6 )
deps: update dependency fsspec to <2024.6.2 (#9463 ) (8e225ec )
deps: update dependency geopandas to v1 (#9437 ) (fa1037b )
deps: update dependency numpy to v2 (#9395 ) (3cb39a5 )
deps: update dependency pyarrow to v17 (#9614 ) (16998df )
deps: update dependency sqlglot to >=23.4,<25.3 (#9401 ) (bdc1b3f )
deps: update dependency sqlglot to >=23.4,<25.4 (#9427 ) (8e015b6 )
deps: update dependency sqlglot to >=23.4,<25.5 (#9472 ) (f6f80da )
deps: update dependency sqlglot to >=23.4,<25.6 (#9523 ) (6a748c4 )
deps: update dependency sqlglot to >=23.4,<25.7 (#9628 ) (f5207ff )
druid: handle typed nulls where possible (#9452 ) (33ec754 )
fix and improve shape inference in many ops (7a0b21e )
ir: avoid deduplicating filters based solely on their name (#9476 ) (b35582e ), closes #9474
ir: repr iterables when constructing name of operations (#9480 ) (f5a541c )
join: skip substitution of non-field references in join chains (#9595 ) (61ef0ed )
mssql: always pass port to pyodbc
in host string (#9656 ) (2e3fd9a )
mssql: avoid calling .commit()
unless a DDL operation is being performed (#9658 ) (69c5bf0 ), closes #9654
mssql: fix temporary table creation and implement cache
(#9434 ) (196d8a1 )
mysql: ensure that port
is captured in MySQL _from_url
implementation (#9421 ) (5bb4971 ), closes #9417
oracle, clickhouse: ensure port
is captured in _from_url
implementation (#9507 ) (bd3009a )
oracle: support connection using oracle connection string (#9435 ) (f3cd8b2 )
pandas, dask: fix drop_table
handling of force
keyword (#9503 ) (95048a4 )
polars: add workaround to compile Array correctly (#9484 ) (5a9d026 )
postgres: add dtype mapping for citext
(f46979b )
pyspark: run pre-execute hooks for to_delta
(#8848 ) (fe0466a )
pyspark: set catalog and database with USE
instead of pyspark api (#9620 ) (6991f04 )
pyspark: set lower bound of pyspark to 3.3.3 to avoid maintenance burden of pytest collection hook (#9606 ) (97af53c ), closes #9564
sec: remove most instances of possible sql injection (#9404 ) (a555774 )
trino: allow passing the auth
keyword (#9410 ) (560ddf6 )
uri-parsing: handle password with bracket in connection url (#9466 ) (c73bcf0 )
urls: standardize pass-through of parsed query parameters (#9482 ) (87cba01 ), closes #9456
Documentation
Refactors
api: refactor the implementation of windowing (#9200 ) (eaa1301 )
api: remove tuple
support in SortKey
(#9416 ) (4dff6e2 )
api: remove unnecessary select
from set operations (#9438 ) (88a2785 )
backends: remove redundant implementations of _register_in_memory_tables
(5235a4b )
caching: remove parameters that are always the same (#9532 ) (afa2848 )
compilers: move compilers out of the backend dependency path (#9590 ) (122330a )
deps: make pyarrow optional for non-backend installs (#9552 ) (9047b26 )
polars: delete some dead code in the polars backend (#9389 ) (77fa811 )
polars: remove numpy usage entirely (#9607 ) (946f761 )
pyarrow: remove comparison of column names for renaming (#9616 ) (3b2a7ec )
streamlit: update to use BaseConnection interface (#9550 ) (f5dd8fb )
tests: add tpc ds setup and rearrange tpc setup (#9453 ) (b150635 )
tpc: add tpc-ds tests (#9467 ) (d2dff68 )
viz: avoid repeatedly rendering redundant schemas in graphviz output (#9518 ) (d53602b )
Performance
bigquery: avoid running list_tables
when registering memtables (#9425 ) (fbc79d2 )
bigquery: use query_and_wait
for better performance on queries of small data with smaller result sets (#9418 ) (ad1e915 )
drop: speed up performance of drop (#9440 ) (1c6eb5c ), closes #9111
drop: use _fast_bind
to speed up drop
even more (#9646 ) (4f39d69 )
duckdb: speed up memtable registration (#9419 ) (7878d8c )
duckdb: speedup timestamp conversion by avoiding conversion to object (#9556 ) (5923e1e )
relocate: avoid redundant selector position computation (#9644 ) (cd58214 )
rename: avoid unnecessary rewrites and dereferencing in rename
(#9641 ) (e56489e )
You canβt perform that action at this time.