diff options
| author | Matus Valo <Matus.Valo@solarturbines.com> | 2023-02-26 15:10:23 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2023-02-26 22:24:09 -0500 |
| commit | c1d94b673be5e0121e657b0b368f186197072574 (patch) | |
| tree | 9c7810754a32c5d81ff2639ab8c03cce8a662610 /lib/sqlalchemy/cyextension | |
| parent | 16d3dad4490fc4915096b7963f21e6b591b15ba7 (diff) | |
| download | sqlalchemy-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.pyx | 5 |
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) |
