diff options
-rw-r--r-- | lib/sqlalchemy/dialects/oracle/cx_oracle.py | 5 | ||||
-rw-r--r-- | test/engine/test_reconnect.py | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/oracle/cx_oracle.py b/lib/sqlalchemy/dialects/oracle/cx_oracle.py index 5b0c3edd7..e013799db 100644 --- a/lib/sqlalchemy/dialects/oracle/cx_oracle.py +++ b/lib/sqlalchemy/dialects/oracle/cx_oracle.py @@ -819,6 +819,11 @@ class OracleDialect_cx_oracle(OracleDialect): id = random.randint(0, 2 ** 128) return (0x1234, "%032x" % id, "%032x" % 9) + def do_executemany(self, cursor, statement, parameters, context=None): + if isinstance(parameters, tuple): + parameters = list(parameters) + cursor.executemany(statement, parameters) + def do_begin_twophase(self, connection, xid): connection.connection.begin(*xid) diff --git a/test/engine/test_reconnect.py b/test/engine/test_reconnect.py index 3dec01c69..ee3ff1459 100644 --- a/test/engine/test_reconnect.py +++ b/test/engine/test_reconnect.py @@ -7,7 +7,7 @@ import sqlalchemy as tsa from sqlalchemy import testing from sqlalchemy.testing import engines from sqlalchemy.testing.util import gc_collect -from sqlalchemy import exc +from sqlalchemy import exc, util from sqlalchemy.testing import fixtures from sqlalchemy.testing.engines import testing_engine @@ -464,6 +464,9 @@ class RealReconnectTest(fixtures.TestBase): conn.invalidate() conn.invalidate() + @testing.skip_if( + [lambda: util.py3k, "oracle+cx_oracle"], + "Crashes on py3k+cx_oracle") def test_explode_in_initializer(self): engine = engines.testing_engine() def broken_initialize(connection): |