From: Mike Bayer Date: Tue, 22 Aug 2017 02:12:30 +0000 (-0400) Subject: - simplify and see if it still works X-Git-Tag: rel_1_1_14~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0594e37513b2348bc5b45048ed7c480dafae6221;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - simplify and see if it still works Change-Id: Id0cf7ae2223507d413aaa22e5f8df066b7ac2b46 (cherry picked from commit fe5eede555973044aceda038e28a190ebb483579) --- diff --git a/lib/sqlalchemy/testing/provision.py b/lib/sqlalchemy/testing/provision.py index a3e87b7c10..1483a2ffcd 100644 --- a/lib/sqlalchemy/testing/provision.py +++ b/lib/sqlalchemy/testing/provision.py @@ -168,36 +168,19 @@ def _pg_create_db(cfg, eng, ident): currentdb = conn.scalar("select current_database()") for attempt in range(10): try: - log.info( - "emitting CREATE DATABASE %s url %r" % - (ident, eng.url)) conn.execute( "CREATE DATABASE %s TEMPLATE %s" % (ident, currentdb)) except exc.OperationalError as err: - conn.connection.rollback() - if attempt != 10 and "accessed by other users" in str(err): + if "accessed by other users" in str(err): log.info( - "got accessed by others for database %s, URI %r, " - "sleeping for .2", + "Waiting to create %s, URI %r, " + "template DB is in use sleeping for .5", ident, eng.url) - time.sleep(.2) - continue - else: - raise + time.sleep(.5) else: - time.sleep(.5) - log.info( - "checking for database %s URI %r" % - (ident, eng.url)) - result = conn.execute( - "SELECT datname FROM pg_database " - "where datname='%s'" % ident) - row = result.first() - if not row: - raise Exception( - "Database named %s did not get " - "created, in engine %r" % (ident, eng.url)) break + else: + raise err @_create_db.for_db("mysql")