From: petit87 Date: Sat, 26 Feb 2022 15:35:40 +0000 (+0900) Subject: Fixes: #7720 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d58845479f497f6b2e12d7df2e9eb2d6ac22109b;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Fixes: #7720 --- diff --git a/lib/sqlalchemy/dialects/mysql/enumerated.py b/lib/sqlalchemy/dialects/mysql/enumerated.py index 8758588715..bf402bbe79 100644 --- a/lib/sqlalchemy/dialects/mysql/enumerated.py +++ b/lib/sqlalchemy/dialects/mysql/enumerated.py @@ -233,3 +233,6 @@ class SET(_StringType): def adapt(self, impltype, **kw): kw["retrieve_as_bitwise"] = self.retrieve_as_bitwise return util.constructor_copy(self, impltype, *self.values, **kw) + + def __repr__(self): + return util.generic_repr(self, to_inspect=[SET, _StringType]) diff --git a/test/dialect/mysql/test_types.py b/test/dialect/mysql/test_types.py index 3d26e1d07f..ea36d7f49b 100644 --- a/test/dialect/mysql/test_types.py +++ b/test/dialect/mysql/test_types.py @@ -1310,6 +1310,20 @@ class EnumSetTest( [("", ""), ("", ""), ("two", "two"), (None, None)], ) + @testing.combinations( + ([""]), + (["a"]), + (["a", "b"]), + (["a", "b", "c"]), + argnames="value", + ) + def test_set_repr(self, value): + val = ", ".join((f"'{i}'" for i in value)) + eq_( + repr(Column("e", mysql.SET(*value, retrieve_as_bitwise=True))), + f"Column('e', SET({val}), table=None)", + ) + def colspec(c): return testing.db.dialect.ddl_compiler(