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_4_0b1~760 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a34664040a8727394dc62d7db4843baad2dce631;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 --- diff --git a/test/orm/test_query.py b/test/orm/test_query.py index b9098bac13..f5283ff443 100644 --- a/test/orm/test_query.py +++ b/test/orm/test_query.py @@ -2418,6 +2418,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 @@ -2521,11 +2522,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, @@ -2534,7 +2540,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}], ) ], @@ -2545,7 +2551,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, @@ -2554,8 +2564,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 49d29a949b..a0d984ef4b 100644 --- a/test/requirements.py +++ b/test/requirements.py @@ -621,8 +621,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 )