diff options
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r-- | lib/sqlalchemy/dialects/oracle/cx_oracle.py | 2 | ||||
-rw-r--r-- | lib/sqlalchemy/pool.py | 14 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/sqlalchemy/dialects/oracle/cx_oracle.py b/lib/sqlalchemy/dialects/oracle/cx_oracle.py index b6f16792e..eb5f2cb43 100644 --- a/lib/sqlalchemy/dialects/oracle/cx_oracle.py +++ b/lib/sqlalchemy/dialects/oracle/cx_oracle.py @@ -234,7 +234,7 @@ class Oracle_cx_oracleExecutionContext(OracleExecutionContext): def create_cursor(self): c = self._connection.connection.cursor() if self.dialect.arraysize: - c.cursor.arraysize = self.dialect.arraysize + c.arraysize = self.dialect.arraysize return c def get_result_proxy(self): diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py index 45ff89d71..0dd3438b1 100644 --- a/lib/sqlalchemy/pool.py +++ b/lib/sqlalchemy/pool.py @@ -431,15 +431,15 @@ class _ConnectionFairy(object): self._connection_record = None class _CursorFairy(object): - __slots__ = '__parent', 'cursor', 'execute' + __slots__ = '_parent', 'cursor', 'execute' def __init__(self, parent, cursor): - self.__parent = parent + self._parent = parent self.cursor = cursor self.execute = cursor.execute def invalidate(self, e=None): - self.__parent.invalidate(e=e) + self._parent.invalidate(e=e) def close(self): try: @@ -453,7 +453,13 @@ class _CursorFairy(object): if isinstance(e, (SystemExit, KeyboardInterrupt)): raise - + + def __setattr__(self, key, value): + if key in self.__slots__: + object.__setattr__(self, key, value) + else: + setattr(self.cursor, key, value) + def __getattr__(self, key): return getattr(self.cursor, key) |