Skip to content

Commit 4d110a0

Browse files
cpcloudjcrist
authored andcommitted
feat(datafusion): enable array flatten, group concat, and timestamp now
1 parent 09dae23 commit 4d110a0

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

ibis/backends/sql/compilers/datafusion.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,13 @@ class DataFusionCompiler(SQLGlotCompiler):
3737
ops.ArgMin,
3838
ops.ArrayDistinct,
3939
ops.ArrayFilter,
40-
ops.ArrayFlatten,
4140
ops.ArrayMap,
4241
ops.ArrayZip,
4342
ops.BitwiseNot,
4443
ops.Clip,
4544
ops.CountDistinctStar,
4645
ops.DateDelta,
4746
ops.Greatest,
48-
ops.GroupConcat,
4947
ops.IntervalFromInteger,
5048
ops.Least,
5149
ops.MultiQuantile,
@@ -55,7 +53,6 @@ class DataFusionCompiler(SQLGlotCompiler):
5553
ops.TimeDelta,
5654
ops.TimestampBucket,
5755
ops.TimestampDelta,
58-
ops.TimestampNow,
5956
ops.TypeOf,
6057
ops.StringToDate,
6158
ops.StringToTimestamp,

ibis/backends/tests/test_aggregation.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1233,7 +1233,7 @@ def test_date_quantile(alltypes):
12331233
),
12341234
],
12351235
)
1236-
@pytest.mark.notimpl(["datafusion", "polars"], raises=com.OperationNotDefinedError)
1236+
@pytest.mark.notimpl(["polars"], raises=com.OperationNotDefinedError)
12371237
@pytest.mark.notimpl(["exasol"], raises=ExaQueryError)
12381238
@pytest.mark.notyet(["flink"], raises=Py4JJavaError)
12391239
def test_group_concat(
@@ -1485,7 +1485,10 @@ def test_grouped_case(backend, con):
14851485
backend.assert_frame_equal(result, expected)
14861486

14871487

1488-
@pytest.mark.notimpl(["datafusion", "polars"], raises=com.OperationNotDefinedError)
1488+
@pytest.mark.notimpl(["polars"], raises=com.OperationNotDefinedError)
1489+
@pytest.mark.notimpl(
1490+
["datafusion"], raises=Exception, reason="not supported in datafusion"
1491+
)
14891492
@pytest.mark.notimpl(["exasol"], raises=ExaQueryError)
14901493
@pytest.mark.notyet(["flink"], raises=Py4JJavaError)
14911494
@pytest.mark.notyet(["impala"], raises=ImpalaHiveServer2Error)

ibis/backends/tests/test_array.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -987,7 +987,8 @@ def flatten_data():
987987
["clickhouse"],
988988
reason="Arrays are never nullable",
989989
raises=AssertionError,
990-
)
990+
),
991+
pytest.mark.notimpl(["datafusion"], raises=AssertionError),
991992
],
992993
),
993994
param(
@@ -1005,11 +1006,12 @@ def flatten_data():
10051006
raises=TypeError,
10061007
reason="comparison of nested arrays doesn't work in pandas testing module",
10071008
),
1009+
pytest.mark.notimpl(["datafusion"], raises=AssertionError),
10081010
],
10091011
),
10101012
],
10111013
)
1012-
@pytest.mark.notimpl(["datafusion", "flink"], raises=com.OperationNotDefinedError)
1014+
@pytest.mark.notimpl(["flink"], raises=com.OperationNotDefinedError)
10131015
def test_array_flatten(backend, flatten_data, column, expected):
10141016
data = flatten_data[column]
10151017
t = ibis.memtable({column: data["data"]}, schema={column: data["type"]})

ibis/backends/tests/test_temporal.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1420,14 +1420,12 @@ def test_day_of_week_column_group_by(
14201420
backend.assert_frame_equal(result, expected, check_dtype=False)
14211421

14221422

1423-
@pytest.mark.notimpl(["datafusion"], raises=com.OperationNotDefinedError)
14241423
def test_now(con):
14251424
expr = ibis.now()
14261425
result = con.execute(expr.name("tmp"))
14271426
assert isinstance(result, datetime.datetime)
14281427

14291428

1430-
@pytest.mark.notimpl(["datafusion"], raises=com.OperationNotDefinedError)
14311429
def test_now_from_projection(alltypes):
14321430
n = 2
14331431
expr = alltypes.select(now=ibis.now()).limit(n)

0 commit comments

Comments
 (0)