summaryrefslogtreecommitdiff
path: root/test/sql/test_lambdas.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/sql/test_lambdas.py')
-rw-r--r--test/sql/test_lambdas.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/sql/test_lambdas.py b/test/sql/test_lambdas.py
index 76be0af3c..29e1258ef 100644
--- a/test/sql/test_lambdas.py
+++ b/test/sql/test_lambdas.py
@@ -8,6 +8,7 @@ from sqlalchemy.sql import and_
from sqlalchemy.sql import bindparam
from sqlalchemy.sql import coercions
from sqlalchemy.sql import column
+from sqlalchemy.sql import func
from sqlalchemy.sql import join
from sqlalchemy.sql import lambda_stmt
from sqlalchemy.sql import lambdas
@@ -38,6 +39,26 @@ class LambdaElementTest(
):
__dialect__ = "default"
+ def test_reject_methods(self):
+ """test #7032"""
+
+ t1 = table("t1", column("q"), column("p"))
+
+ subq = select(t1).subquery
+
+ with expect_raises_message(
+ exc.ArgumentError,
+ "Method <bound method Select.*.subquery .* may not be "
+ "passed as a SQL expression",
+ ):
+ select(func.count()).select_from(subq)
+
+ self.assert_compile(
+ select(func.count()).select_from(subq()),
+ "SELECT count(*) AS count_1 FROM "
+ "(SELECT t1.q AS q, t1.p AS p FROM t1) AS anon_1",
+ )
+
def test_select_whereclause(self):
t1 = table("t1", column("q"), column("p"))