@@ -146,7 +146,8 @@ def test_map_values_nulls(con, map):
146
146
),
147
147
"a" ,
148
148
marks = [
149
- pytest .mark .notyet ("clickhouse" , reason = "nested types can't be NULL" )
149
+ pytest .mark .notyet ("clickhouse" , reason = "nested types can't be NULL" ),
150
+ pytest .mark .notyet (["datafusion" ], raises = Exception , strict = False ),
150
151
],
151
152
id = "null_both_non_null_key" ,
152
153
),
@@ -165,22 +166,23 @@ def test_map_values_nulls(con, map):
165
166
ibis .literal (None , type = "map<string, string>" ),
166
167
"a" ,
167
168
marks = [
168
- pytest .mark .notyet ("clickhouse" , reason = "nested types can't be NULL" )
169
+ pytest .mark .notyet ("clickhouse" , reason = "nested types can't be NULL" ),
170
+ mark_notyet_datafusion ,
169
171
],
170
172
id = "null_map_non_null_key" ,
171
173
),
172
174
param (
173
175
ibis .literal (None , type = "map<string, string>" ),
174
176
ibis .literal (None , type = "string" ),
175
177
marks = [
176
- pytest .mark .notyet ("clickhouse" , reason = "nested types can't be NULL" )
178
+ pytest .mark .notyet ("clickhouse" , reason = "nested types can't be NULL" ),
179
+ mark_notyet_datafusion ,
177
180
],
178
181
id = "null_map_null_key" ,
179
182
),
180
183
],
181
184
)
182
185
@pytest .mark .parametrize ("method" , ["get" , "contains" ])
183
- @mark_notyet_datafusion
184
186
def test_map_get_contains_nulls (con , map , key , method ):
185
187
expr = getattr (map , method )
186
188
assert con .execute (expr (key )) is None
@@ -251,7 +253,6 @@ def test_column_map_merge(backend):
251
253
tm .assert_series_equal (result , expected )
252
254
253
255
254
- @mark_notyet_datafusion
255
256
def test_literal_map_keys (con ):
256
257
mapping = ibis .literal ({"1" : "a" , "2" : "b" })
257
258
expr = mapping .keys ().name ("tmp" )
@@ -262,7 +263,6 @@ def test_literal_map_keys(con):
262
263
assert np .array_equal (result , ["1" , "2" ])
263
264
264
265
265
- @mark_notyet_datafusion
266
266
def test_literal_map_values (con ):
267
267
mapping = ibis .literal ({"1" : "a" , "2" : "b" })
268
268
expr = mapping .values ().name ("tmp" )
@@ -271,7 +271,6 @@ def test_literal_map_values(con):
271
271
assert np .array_equal (result , ["a" , "b" ])
272
272
273
273
274
- @mark_notyet_datafusion
275
274
def test_scalar_isin_literal_map_keys (con ):
276
275
mapping = ibis .literal ({"a" : 1 , "b" : 2 })
277
276
a = ibis .literal ("a" )
@@ -282,7 +281,6 @@ def test_scalar_isin_literal_map_keys(con):
282
281
assert con .execute (false ) == False # noqa: E712
283
282
284
283
285
- @mark_notyet_datafusion
286
284
def test_map_scalar_contains_key_scalar (con ):
287
285
mapping = ibis .literal ({"a" : 1 , "b" : 2 })
288
286
a = ibis .literal ("a" )
@@ -293,7 +291,6 @@ def test_map_scalar_contains_key_scalar(con):
293
291
assert con .execute (false ) == False # noqa: E712
294
292
295
293
296
- @mark_notyet_datafusion
297
294
def test_map_scalar_contains_key_column (backend , alltypes , df ):
298
295
value = {"1" : "a" , "3" : "c" }
299
296
mapping = ibis .literal (value )
@@ -303,7 +300,6 @@ def test_map_scalar_contains_key_column(backend, alltypes, df):
303
300
backend .assert_series_equal (result , expected )
304
301
305
302
306
- @mark_notyet_datafusion
307
303
def test_map_column_contains_key_scalar (backend , alltypes , df ):
308
304
expr = ibis .map (ibis .array ([alltypes .string_col ]), ibis .array ([alltypes .int_col ]))
309
305
series = df .apply (lambda row : {row ["string_col" ]: row ["int_col" ]}, axis = 1 )
@@ -314,7 +310,6 @@ def test_map_column_contains_key_scalar(backend, alltypes, df):
314
310
backend .assert_series_equal (result , series )
315
311
316
312
317
- @mark_notyet_datafusion
318
313
def test_map_column_contains_key_column (alltypes ):
319
314
map_expr = ibis .map (
320
315
ibis .array ([alltypes .string_col ]), ibis .array ([alltypes .int_col ])
@@ -466,7 +461,6 @@ def test_map_get_all_types(con, keys, values):
466
461
467
462
468
463
@keys
469
- @mark_notyet_datafusion
470
464
def test_map_contains_all_types (con , keys ):
471
465
a = ibis .array (keys )
472
466
m = ibis .map (a , a )
@@ -521,23 +515,20 @@ def test_map_construct_array_column(con, alltypes, df):
521
515
522
516
523
517
@mark_notyet_postgres
524
- @mark_notyet_datafusion
525
518
def test_map_get_with_compatible_value_smaller (con ):
526
519
value = ibis .literal ({"A" : 1000 , "B" : 2000 })
527
520
expr = value .get ("C" , 3 )
528
521
assert con .execute (expr ) == 3
529
522
530
523
531
524
@mark_notyet_postgres
532
- @mark_notyet_datafusion
533
525
def test_map_get_with_compatible_value_bigger (con ):
534
526
value = ibis .literal ({"A" : 1 , "B" : 2 })
535
527
expr = value .get ("C" , 3000 )
536
528
assert con .execute (expr ) == 3000
537
529
538
530
539
531
@mark_notyet_postgres
540
- @mark_notyet_datafusion
541
532
def test_map_get_with_incompatible_value_different_kind (con ):
542
533
value = ibis .literal ({"A" : 1000 , "B" : 2000 })
543
534
expr = value .get ("C" , 3.0 )
@@ -574,7 +565,6 @@ def test_map_get_with_null_on_null_type_with_null(con, null_value):
574
565
["flink" ], raises = Py4JJavaError , reason = "Flink cannot handle typeless nulls"
575
566
)
576
567
@mark_notyet_postgres
577
- @mark_notyet_datafusion
578
568
def test_map_get_with_null_on_null_type_with_non_null (con ):
579
569
value = ibis .literal ({"A" : None , "B" : None })
580
570
expr = value .get ("C" , 1 )
@@ -600,7 +590,6 @@ def test_map_create_table(con, temp_table):
600
590
raises = exc .OperationNotDefinedError ,
601
591
reason = "No translation rule for <class 'ibis.expr.operations.maps.MapLength'>" ,
602
592
)
603
- @mark_notyet_datafusion
604
593
def test_map_length (con ):
605
594
expr = ibis .literal (dict (a = "A" , b = "B" )).length ()
606
595
assert con .execute (expr ) == 2
@@ -613,7 +602,6 @@ def test_map_keys_unnest(backend):
613
602
assert frozenset (result ) == frozenset ("abcdef" )
614
603
615
604
616
- @mark_notyet_datafusion
617
605
def test_map_contains_null (con ):
618
606
expr = ibis .map (["a" ], ibis .literal ([None ], type = "array<string>" ))
619
607
assert con .execute (expr .contains ("a" ))
0 commit comments