]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Build conninfo in *Connection.connect()
authorDenis Laxalde <denis.laxalde@dalibo.com>
Wed, 5 May 2021 07:40:26 +0000 (09:40 +0200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 8 Jun 2021 12:22:38 +0000 (13:22 +0100)
We'll need to extract 'connect_timeout' from the connection string and
use it outside Connection._connect_gen() in the next commit.

psycopg3/psycopg3/connection.py

index 3e3a90e4a96fea6fa597e411d2c644ac825175a6..22af61d433ed92cc1b6f88b22e3519df951a048d 100644 (file)
@@ -358,10 +358,8 @@ class BaseConnection(AdaptContext, Generic[Row]):
         *,
         autocommit: bool = False,
         row_factory: Optional[RowFactory[Any]] = None,
-        **kwargs: Any,
     ) -> PQGenConn[ConnectionType]:
         """Generator to connect to the database and create a new instance."""
-        conninfo = make_conninfo(conninfo, **kwargs)
         pgconn = yield from connect(conninfo)
         if not row_factory:
             row_factory = tuple_row
@@ -488,12 +486,10 @@ class Connection(BaseConnection[Row]):
 
         TODO: connection_timeout to be implemented.
         """
+        conninfo = make_conninfo(conninfo, **kwargs)
         return cls._wait_conn(
             cls._connect_gen(
-                conninfo,
-                autocommit=autocommit,
-                row_factory=row_factory,
-                **kwargs,
+                conninfo, autocommit=autocommit, row_factory=row_factory
             )
         )
 
@@ -701,12 +697,10 @@ class AsyncConnection(BaseConnection[Row]):
         row_factory: Optional[RowFactory[Row]] = None,
         **kwargs: Any,
     ) -> "AsyncConnection[Any]":
+        conninfo = make_conninfo(conninfo, **kwargs)
         return await cls._wait_conn(
             cls._connect_gen(
-                conninfo,
-                autocommit=autocommit,
-                row_factory=row_factory,
-                **kwargs,
+                conninfo, autocommit=autocommit, row_factory=row_factory
             )
         )