From: Mike Bayer Date: Wed, 14 Aug 2019 14:34:38 +0000 (-0400) Subject: Turn on backend for new tests added for #4803 X-Git-Tag: rel_1_3_7~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5b0920ef74f361de4557beac3b7e60a502eac468;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Turn on backend for new tests added for #4803 New tests added are failing on SQL Server which doesn't support expressions in LIMIT, need better gerrit coverage Fixes: #4803 Change-Id: I56bc44474d448a1faa1dfccff0b55763329e712d (cherry picked from commit a34664040a8727394dc62d7db4843baad2dce631) --- diff --git a/test/orm/test_query.py b/test/orm/test_query.py index 9502b16b73..04153c8b87 100644 --- a/test/orm/test_query.py +++ b/test/orm/test_query.py @@ -2395,6 +2395,7 @@ class ComparatorTest(QueryTest): # more slice tests are available in test/orm/generative.py class SliceTest(QueryTest): __dialect__ = "default" + __backend__ = True def test_first(self): User = self.classes.User @@ -2498,11 +2499,16 @@ class SliceTest(QueryTest): ], ) + @testing.requires.sql_expression_limit_offset def test_first_against_expression_offset(self): User = self.classes.User sess = create_session() - q = sess.query(User).order_by(User.id).offset(literal_column("2")) + q = ( + sess.query(User) + .order_by(User.id) + .offset(literal_column("2") + literal_column("3")) + ) self.assert_sql( testing.db, @@ -2511,7 +2517,7 @@ class SliceTest(QueryTest): ( "SELECT users.id AS users_id, users.name AS users_name " "FROM users ORDER BY users.id " - "LIMIT :param_1 OFFSET 2", + "LIMIT :param_1 OFFSET 2 + 3", [{"param_1": 1}], ) ], @@ -2522,7 +2528,11 @@ class SliceTest(QueryTest): User = self.classes.User sess = create_session() - q = sess.query(User).order_by(User.id).offset(literal_column("2")) + q = ( + sess.query(User) + .order_by(User.id) + .offset(literal_column("2") + literal_column("3")) + ) self.assert_sql( testing.db, @@ -2531,8 +2541,8 @@ class SliceTest(QueryTest): ( "SELECT users.id AS users_id, users.name AS users_name " "FROM users ORDER BY users.id " - "LIMIT :param_1 OFFSET 2 + :2_1", - [{"param_1": 3, "2_1": 2}], + "LIMIT :param_1 OFFSET 2 + 3 + :param_2", + [{"param_1": 3, "param_2": 2}], ) ], ) diff --git a/test/requirements.py b/test/requirements.py index 35328e9849..a7b906add5 100644 --- a/test/requirements.py +++ b/test/requirements.py @@ -609,8 +609,9 @@ class DefaultRequirements(SuiteRequirements): def sql_expression_limit_offset(self): return ( fails_if( - ["mysql"], - "MySQL can't accommodate full expressions in OFFSET or LIMIT", + ["mysql", "mssql"], + "Target backend can't accommodate full expressions in " + "OFFSET or LIMIT", ) + self.offset )