]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
oracle: do not query for compression if unsupported
authorSergio Oller <sergioller@gmail.com>
Tue, 2 Jul 2024 04:25:58 +0000 (06:25 +0200)
committerSergio Oller Moreno <sergio.ollermoreno@almirall.com>
Tue, 2 Jul 2024 05:21:41 +0000 (07:21 +0200)
compression and compress_for are not supported on older oracle versions
so do not query them

Fixes: #11557
lib/sqlalchemy/dialects/oracle/base.py

index 4f180cbd9e74f5974becbe521d5dffaff876b348..e37f2f5399c17cc1e4851118a30754d4fcf97ffd 100644 (file)
@@ -2051,8 +2051,16 @@ class OracleDialect(default.DefaultDialect):
     ):
         query = select(
             dictionary.all_tables.c.table_name,
-            dictionary.all_tables.c.compression,
-            dictionary.all_tables.c.compress_for,
+            (
+                dictionary.all_tables.c.compression
+                if self._supports_table_compression
+                else sql.literal_column("NULL").label("compression")
+            ),
+            (
+                dictionary.all_tables.c.compress_for
+                if self._supports_table_compress_for
+                else sql.literal_column("NULL").label("compress_for")
+            ),
         ).where(dictionary.all_tables.c.owner == owner)
         if has_filter_names:
             query = query.where(