summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/dialects/oracle/cx_oracle.py2
-rw-r--r--lib/sqlalchemy/pool.py14
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)