summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/cyextension
diff options
context:
space:
mode:
authorMatus Valo <Matus.Valo@solarturbines.com>2023-02-26 15:10:23 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2023-02-26 22:24:09 -0500
commitc1d94b673be5e0121e657b0b368f186197072574 (patch)
tree9c7810754a32c5d81ff2639ab8c03cce8a662610 /lib/sqlalchemy/cyextension
parent16d3dad4490fc4915096b7963f21e6b591b15ba7 (diff)
downloadsqlalchemy-c1d94b673be5e0121e657b0b368f186197072574.tar.gz
Declare KEY_OBJECTS_ONLY as cdef variable
A small optimization to the Cython implementation of :class:`.ResultProxy` using a cdef for a particular int value to avoid Python overhead. Pull request courtesy Matus Valo. Fixes: #9343 Closes: #9344 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/9344 Pull-request-sha: fc6a97debe45497ef502f3861611b021a5885b63 Change-Id: I231d4fb292decfe9bccdf54f2851ce6f69d5d6c7
Diffstat (limited to 'lib/sqlalchemy/cyextension')
-rw-r--r--lib/sqlalchemy/cyextension/resultproxy.pyx5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/sqlalchemy/cyextension/resultproxy.pyx b/lib/sqlalchemy/cyextension/resultproxy.pyx
index e88c8ec0b..96a028d93 100644
--- a/lib/sqlalchemy/cyextension/resultproxy.pyx
+++ b/lib/sqlalchemy/cyextension/resultproxy.pyx
@@ -3,9 +3,10 @@
import operator
cdef int MD_INDEX = 0 # integer index in cursor.description
+cdef int _KEY_OBJECTS_ONLY = 1
KEY_INTEGER_ONLY = 0
-KEY_OBJECTS_ONLY = 1
+KEY_OBJECTS_ONLY = _KEY_OBJECTS_ONLY
cdef class BaseRow:
cdef readonly object _parent
@@ -76,7 +77,7 @@ cdef class BaseRow:
if mdindex is None:
self._parent._raise_for_ambiguous_column_name(rec)
elif (
- self._key_style == KEY_OBJECTS_ONLY
+ self._key_style == _KEY_OBJECTS_ONLY
and isinstance(key, int)
):
raise KeyError(key)