From 9322de12f5c5eca397b13cb7db2b6196f58aceb3 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 12 Oct 2020 12:47:38 -0400 Subject: Repair reduction in Over Fixed issue where a plain pickle dumps call of the :class:`_sql.Over` construct didn't work. Fixes: #5644 Change-Id: I4b07f74ecd5d52f0794128585367012200a38a36 --- test/sql/test_functions.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'test/sql') diff --git a/test/sql/test_functions.py b/test/sql/test_functions.py index f9a8f998e..1722a1e69 100644 --- a/test/sql/test_functions.py +++ b/test/sql/test_functions.py @@ -483,6 +483,21 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): except AttributeError: assert True + def test_pickle_over(self): + # TODO: the test/sql package lacks a comprehensive pickling + # test suite even though there are __reduce__ methods in several + # places in sql/elements.py. likely as part of + # test/sql/test_compare.py might be a place this can happen but + # this still relies upon a strategy for table metadata as we have + # in serializer. + + f1 = func.row_number().over() + + self.assert_compile( + util.pickle.loads(util.pickle.dumps(f1)), + "row_number() OVER ()", + ) + def test_functions_with_cols(self): users = table( "users", column("id"), column("name"), column("fullname") -- cgit v1.2.1