From: Daniele Varrazzo Date: Tue, 17 May 2022 19:23:18 +0000 (+0200) Subject: perf: micro optimise attribute access to PollingStatus X-Git-Tag: 3.1~85 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c33a8c236e451644632d31db78d078de51e8a0c8;p=thirdparty%2Fpsycopg.git perf: micro optimise attribute access to PollingStatus --- diff --git a/psycopg/psycopg/generators.py b/psycopg/psycopg/generators.py index 3e78e07c3..63df87cb5 100644 --- a/psycopg/psycopg/generators.py +++ b/psycopg/psycopg/generators.py @@ -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)}",