From: Mike Bayer Date: Fri, 3 Aug 2007 20:04:41 +0000 (+0000) Subject: - fixed table_names for postgres to return as dialect.encoding-decoded unicode strings X-Git-Tag: rel_0_4beta1~86 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b14d14db18d8f7f66b411fe2cd981af8bc2c42b;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - fixed table_names for postgres to return as dialect.encoding-decoded unicode strings --- diff --git a/lib/sqlalchemy/databases/postgres.py b/lib/sqlalchemy/databases/postgres.py index adcdff8a6a..d3467105b3 100644 --- a/lib/sqlalchemy/databases/postgres.py +++ b/lib/sqlalchemy/databases/postgres.py @@ -334,7 +334,7 @@ class PGDialect(ansisql.ANSIDialect): WHERE relkind = 'r' AND '%(schema)s' = (select nspname from pg_namespace n where n.oid = c.relnamespace) """ % locals() - return [row[0] for row in connection.execute(s)] + return [row[0].decode(self.encoding) for row in connection.execute(s)] def reflecttable(self, connection, table, include_columns): preparer = self.identifier_preparer diff --git a/test/sql/unicode.py b/test/sql/unicode.py index 87b6274a0e..0ffa7c34d6 100644 --- a/test/sql/unicode.py +++ b/test/sql/unicode.py @@ -89,14 +89,20 @@ class UnicodeSchemaTest(PersistTest): sess.save(a1) sess.flush() sess.clear() - new_a1 = sess.query(A).selectone(t1.c[u'méil'] == a1.a) + new_a1 = sess.query(A).filter(t1.c[u'méil'] == a1.a).one() assert new_a1.a == a1.a assert new_a1.t2s[0].a == b1.a sess.clear() - new_a1 = sess.query(A).options(eagerload('t2s')).selectone(t1.c[u'méil'] == a1.a) + + new_a1 = sess.query(A).options(eagerload('t2s')).filter(t1.c[u'méil'] == a1.a).one() assert new_a1.a == a1.a assert new_a1.t2s[0].a == b1.a - + sess.clear() + + new_a1 = sess.query(A).filter(A.a == a1.a).one() + assert new_a1.a == a1.a + assert new_a1.t2s[0].a == b1.a + sess.clear() if __name__ == '__main__': testbase.main()