]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
perf: micro optimise attribute access to PollingStatus
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 17 May 2022 19:23:18 +0000 (21:23 +0200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 17 May 2022 19:28:29 +0000 (21:28 +0200)
psycopg/psycopg/generators.py

index 3e78e07c3d1e8ce88d82e2e1a5997400ed8ab432..63df87cb5d9e5db8df5cf52c8c1649273ffa7331 100644 (file)
@@ -20,7 +20,6 @@ from typing import List, Optional, Union
 
 from . import pq
 from . import errors as e
-from .pq import PollingStatus
 from .abc import PipelineCommand, PQGen, PQGenConn
 from .pq.abc import PGconn, PGresult
 from .waiting import Wait, Ready
@@ -30,6 +29,11 @@ from ._encodings import pgconn_encoding, conninfo_encoding
 OK = pq.ConnStatus.OK
 BAD = pq.ConnStatus.BAD
 
+POLL_OK = pq.PollingStatus.OK
+POLL_READING = pq.PollingStatus.READING
+POLL_WRITING = pq.PollingStatus.WRITING
+POLL_FAILED = pq.PollingStatus.FAILED
+
 COMMAND_OK = pq.ExecStatus.COMMAND_OK
 COPY_OUT = pq.ExecStatus.COPY_OUT
 COPY_IN = pq.ExecStatus.COPY_IN
@@ -54,13 +58,13 @@ def connect(conninfo: str) -> PQGenConn[PGconn]:
             )
 
         status = conn.connect_poll()
-        if status == PollingStatus.OK:
+        if status == POLL_OK:
             break
-        elif status == PollingStatus.READING:
+        elif status == POLL_READING:
             yield conn.socket, Wait.R
-        elif status == PollingStatus.WRITING:
+        elif status == POLL_WRITING:
             yield conn.socket, Wait.W
-        elif status == PollingStatus.FAILED:
+        elif status == POLL_FAILED:
             encoding = conninfo_encoding(conninfo)
             raise e.OperationalError(
                 f"connection failed: {pq.error_message(conn, encoding=encoding)}",