Skip to content

Commit 8b0d6fe

Browse files
committed
test(backends): xfail where MERGE INTO unsupported
1 parent ace3eb3 commit 8b0d6fe

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

ibis/backends/tests/test_client.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import json
88
import os
99
import re
10+
import sqlite3
1011
import string
1112
import subprocess
1213
import sys
@@ -26,9 +27,11 @@
2627
import ibis.expr.operations as ops
2728
from ibis.backends.conftest import ALL_BACKENDS
2829
from ibis.backends.tests.errors import (
30+
ClickHouseDatabaseError,
2931
DatabricksServerOperationError,
3032
ExaQueryError,
3133
ImpalaHiveServer2Error,
34+
MySQLProgrammingError,
3235
OracleDatabaseError,
3336
PsycoPg2InternalError,
3437
PsycoPgUndefinedObject,
@@ -668,12 +671,32 @@ def _emp(a, b, c, d):
668671
pyspark_merge_exception = None
669672

670673

674+
@pytest.mark.notyet(
675+
["clickhouse"], raises=ClickHouseDatabaseError, reason="MERGE INTO is not supported"
676+
)
677+
@pytest.mark.notyet(["datafusion"], reason="MERGE INTO is not supported")
678+
@pytest.mark.notyet(
679+
["impala"],
680+
raises=ImpalaHiveServer2Error,
681+
reason="target table must be an Iceberg table",
682+
)
683+
@pytest.mark.notyet(
684+
["mysql"], raises=MySQLProgrammingError, reason="MERGE INTO is not supported"
685+
)
671686
@pytest.mark.notimpl(["polars"], reason="`upsert` method not implemented")
672687
@pytest.mark.notyet(
673688
["pyspark"],
674689
raises=pyspark_merge_exception,
675690
reason="MERGE INTO TABLE is not supported temporarily",
676691
)
692+
@pytest.mark.notyet(
693+
["risingwave"],
694+
raises=PsycoPg2InternalError,
695+
reason="MERGE INTO is not supported",
696+
)
697+
@pytest.mark.notyet(
698+
["sqlite"], raises=sqlite3.OperationalError, reason="MERGE INTO is not supported"
699+
)
677700
@pytest.mark.notyet(
678701
["trino"],
679702
raises=TrinoUserError,
@@ -696,12 +719,32 @@ def test_upsert_from_dataframe(
696719
)
697720

698721

722+
@pytest.mark.notyet(
723+
["clickhouse"], raises=ClickHouseDatabaseError, reason="MERGE INTO is not supported"
724+
)
725+
@pytest.mark.notyet(["datafusion"], reason="MERGE INTO is not supported")
726+
@pytest.mark.notyet(
727+
["impala"],
728+
raises=ImpalaHiveServer2Error,
729+
reason="target table must be an Iceberg table",
730+
)
731+
@pytest.mark.notyet(
732+
["mysql"], raises=MySQLProgrammingError, reason="MERGE INTO is not supported"
733+
)
699734
@pytest.mark.notimpl(["polars"], reason="`upsert` method not implemented")
700735
@pytest.mark.notyet(
701736
["pyspark"],
702737
raises=pyspark_merge_exception,
703738
reason="MERGE INTO TABLE is not supported temporarily",
704739
)
740+
@pytest.mark.notyet(
741+
["risingwave"],
742+
raises=PsycoPg2InternalError,
743+
reason="MERGE INTO is not supported",
744+
)
745+
@pytest.mark.notyet(
746+
["sqlite"], raises=sqlite3.OperationalError, reason="MERGE INTO is not supported"
747+
)
705748
@pytest.mark.notyet(
706749
["trino"],
707750
raises=TrinoUserError,

0 commit comments

Comments
 (0)