Skip to content

Commit ea32ee2

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

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")
687+
@pytest.mark.notyet(
688+
["postgres", "risingwave"],
689+
raises=PsycoPg2InternalError,
690+
reason="MERGE INTO is not supported",
691+
)
672692
@pytest.mark.notyet(
673693
["pyspark"],
674694
raises=pyspark_merge_exception,
675695
reason="MERGE INTO TABLE is not supported temporarily",
676696
)
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")
735+
@pytest.mark.notyet(
736+
["postgres", "risingwave"],
737+
raises=PsycoPg2InternalError,
738+
reason="MERGE INTO is not supported",
739+
)
700740
@pytest.mark.notyet(
701741
["pyspark"],
702742
raises=pyspark_merge_exception,
703743
reason="MERGE INTO TABLE is not supported temporarily",
704744
)
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)