summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/build/changelog/unreleased_12/groupby_rule.rst6
-rw-r--r--lib/sqlalchemy/testing/requirements.py11
-rw-r--r--lib/sqlalchemy/testing/suite/test_select.py1
3 files changed, 18 insertions, 0 deletions
diff --git a/doc/build/changelog/unreleased_12/groupby_rule.rst b/doc/build/changelog/unreleased_12/groupby_rule.rst
new file mode 100644
index 000000000..c012f57db
--- /dev/null
+++ b/doc/build/changelog/unreleased_12/groupby_rule.rst
@@ -0,0 +1,6 @@
+.. change::
+ :tags: bug, tests
+
+ Added a new exclusion rule group_by_complex_expression
+ which disables tests that use "GROUP BY <expr>", which seems
+ to be not viable for at least two third party dialects.
diff --git a/lib/sqlalchemy/testing/requirements.py b/lib/sqlalchemy/testing/requirements.py
index 0b89a4506..b89d149d6 100644
--- a/lib/sqlalchemy/testing/requirements.py
+++ b/lib/sqlalchemy/testing/requirements.py
@@ -206,6 +206,17 @@ class SuiteRequirements(Requirements):
return exclusions.open()
+ @property
+ def group_by_complex_expression(self):
+ """target platform supports SQL expressions in GROUP BY
+
+ e.g.
+
+ SELECT x + y AS somelabel FROM table GROUP BY x + y
+
+ """
+
+ return exclusions.open()
@property
def sane_rowcount(self):
diff --git a/lib/sqlalchemy/testing/suite/test_select.py b/lib/sqlalchemy/testing/suite/test_select.py
index 097214823..df638c140 100644
--- a/lib/sqlalchemy/testing/suite/test_select.py
+++ b/lib/sqlalchemy/testing/suite/test_select.py
@@ -87,6 +87,7 @@ class OrderByLabelTest(fixtures.TablesTest):
[(7, ), (5, ), (3, )]
)
+ @testing.requires.group_by_complex_expression
def test_group_by_composed(self):
table = self.tables.some_table
expr = (table.c.x + table.c.y).label('lx')