]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- simplify and see if it still works
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 22 Aug 2017 02:12:30 +0000 (22:12 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 22 Aug 2017 02:12:30 +0000 (22:12 -0400)
Change-Id: Id0cf7ae2223507d413aaa22e5f8df066b7ac2b46

lib/sqlalchemy/testing/provision.py

index 9d41d7e5d0047c9d25a7b0406fe15d00ee7e5969..95fa2f8f75c7a4d634c1f7feb21ae5221748d057 100644 (file)
@@ -169,36 +169,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")