]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Do not check language support
authorEric Masseran <eric.masseran@gmail.com>
Fri, 16 Jul 2021 10:02:42 +0000 (12:02 +0200)
committerEric Masseran <eric.masseran@gmail.com>
Fri, 16 Jul 2021 16:25:07 +0000 (18:25 +0200)
lib/sqlalchemy/dialects/postgresql/base.py
lib/sqlalchemy/dialects/sqlite/base.py
lib/sqlalchemy/engine/default.py
lib/sqlalchemy/sql/compiler.py
test/sql/test_cte.py

index baa0efe4b2f74c586db727c2d6d0ee65bb76b18d..4c654a643b04cbde16a03f47e32781cb356dac57 100644 (file)
@@ -3091,7 +3091,6 @@ class PGDialect(default.DefaultDialect):
 
     supports_comments = True
     supports_default_values = True
-    supports_nesting_cte = True
 
     supports_default_metavalue = True
 
index 4d0cb56adef8e7259ff59f736c0a5ac9477833d5..66a556ae0d5cb3497275159bd993fff37e599663 100644 (file)
@@ -1807,7 +1807,6 @@ class SQLiteDialect(default.DefaultDialect):
     supports_multivalues_insert = True
     tuple_in_values = True
     supports_statement_cache = True
-    supports_nesting_cte = True
 
     default_paramstyle = "qmark"
     execution_ctx_cls = SQLiteExecutionContext
index 8cdde558b601ea05336a0cbd212656a73dd86c15..7b3fa091fd430dddd703869cf79a6f7a403aee3a 100644 (file)
@@ -81,7 +81,6 @@ class DefaultDialect(interfaces.Dialect):
     insert_executemany_returning = False
 
     cte_follows_insert = False
-    supports_nesting_cte = False
 
     supports_native_enum = False
     supports_native_boolean = False
index e0c102819004c6396287cf182c4d7911639ab22f..f5079c74a4787a5bb31a0f232187a51a88722d9c 100644 (file)
@@ -3361,12 +3361,6 @@ class SQLCompiler(Compiled):
                 if not cte.nesting and self.level_by_ctes[cte] == nesting_level
             }
 
-            if ctes and not self.dialect.supports_nesting_cte:
-                raise exc.CompileError(
-                    "Nesting CTE is not supported by this "
-                    "dialect's statement compiler."
-                )
-
         ctes_recursive = any([cte.recursive for cte in ctes])
 
         if self.positional:
index 04d8a999c0bf8270b9c7bdcacb138e561b26defb..72e3f506e848e2a62d37ea66e73f66973bf09886 100644 (file)
@@ -1,5 +1,4 @@
 import functools
-import pytest
 from sqlalchemy import delete
 from sqlalchemy import testing
 from sqlalchemy import text
@@ -1570,26 +1569,6 @@ class NestingCTETest(fixtures.TestBase, AssertsCompiledSQL):
             "SELECT cte.outer_cte FROM cte",
         )
 
-    @pytest.mark.parametrize(
-        "dialect",
-        [mysql],
-    )
-    def test_nesting_cte_unsupported_backend_raise(self, dialect):
-        stmt = select(
-            [
-                select(
-                    [select([literal(1).label("one")]).cte("t2", nesting=True)]
-                ).cte("t")
-            ]
-        )
-
-        assert_raises_message(
-            CompileError,
-            "Nesting CTE is not supported by this "
-            "dialect's statement compiler.",
-            functools.partial(stmt.compile, dialect=dialect.dialect()),
-        )
-
     def test_select_from_insert_cte_with_nesting(self):
         products = table("products", column("id"), column("price"))