From: Torsten Werner Date: Thu, 3 Mar 2011 22:49:50 +0000 (+0100) Subject: Merge branch 'master' into dbtests X-Git-Tag: debian-r/squeeze~324 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=d86fdc088f029bb7ebfd7b1e91a178f9efdc6650;hp=852d11060ffd1450a7cd02302202f19df4cb0be9;p=dak.git Merge branch 'master' into dbtests Conflicts: tests/dbtest_contents.py --- diff --git a/config/debian/dak.conf b/config/debian/dak.conf index bc9da6d8..97aaa01d 100644 --- a/config/debian/dak.conf +++ b/config/debian/dak.conf @@ -458,6 +458,8 @@ DB PoolSize 17; // MaxOverflow shouldn't exceed postgresql.conf's max_connections - PoolSize MaxOverflow 13; + // should be false for encoding == SQL_ASCII + Unicode "false" }; Archive diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 3806e31e..5bff4186 100755 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -3306,14 +3306,17 @@ class DBConn(object): connstr = "postgres:///%s" % cnf["DB::Name"] if cnf["DB::Port"] and cnf["DB::Port"] != "-1": connstr += "?port=%s" % cnf["DB::Port"] - if not cnf.has_key('DB::PoolSize'): - cnf['DB::PoolSize'] = '5' - if not cnf.has_key('DB::MaxOverflow'): - cnf['DB::MaxOverflow'] = '10' - - self.db_pg = create_engine(connstr, echo=self.debug, - pool_size=int(cnf['DB::PoolSize']), - max_overflow=int(cnf['DB::MaxOverflow'])) + + engine_args = { 'echo': self.debug } + if cnf.has_key('DB::PoolSize'): + engine_args['pool_size'] = int(cnf['DB::PoolSize']) + if cnf.has_key('DB::MaxOverflow'): + engine_args['max_overflow'] = int(cnf['DB::MaxOverflow']) + if sa_major_version == '0.6' and cnf.has_key('DB::Unicode') and \ + cnf['DB::Unicode'] == 'false': + engine_args['use_native_unicode'] = False + + self.db_pg = create_engine(connstr, **engine_args) self.db_meta = MetaData() self.db_meta.bind = self.db_pg self.db_smaker = sessionmaker(bind=self.db_pg, diff --git a/tests/dbtest_contents.py b/tests/dbtest_contents.py index 49db6848..b6512042 100755 --- a/tests/dbtest_contents.py +++ b/tests/dbtest_contents.py @@ -156,6 +156,8 @@ class ContentsTestCase(DBDakTestCase): cw.output_filename()) # test delete cascading self.session.delete(self.binary['hello_2.2-1_i386']) + # test unicode support + self.binary['hello_2.2-1_i386'].contents.append(BinContents(file = '\xc3\xb6')) self.session.commit() def test_scan_contents(self):