X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=c7ecdc189cb3125b132fb350fb4756193ce655ca;hb=adc359dad427790fefd1de5f01caac9a51b5a5c8;hp=3806e31e2d09c9922c58014e9c0462d13e0a368b;hpb=a93b9774a23c42560c713d0cfe7d5c37548f1b6a;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 3806e31e..c7ecdc18 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,