mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-29 12:06:28 -04:00
Merge "Raise cx_Oracle minimum version to 5.2" into rel_1_2
This commit is contained in:
+8
@@ -0,0 +1,8 @@
|
||||
.. change::
|
||||
:tags: bug, oracle
|
||||
:tickets: 4211
|
||||
:versions: 1.3.0b1
|
||||
|
||||
The minimum cx_Oracle version supported is 5.2 (June 2015). Previously,
|
||||
the dialect asserted against version 5.0 but as of 1.2.2 we are using some
|
||||
symbols that did not appear until 5.2.
|
||||
@@ -614,9 +614,9 @@ class OracleDialect_cx_oracle(OracleDialect):
|
||||
self.cx_oracle_ver = (0, 0, 0)
|
||||
else:
|
||||
self.cx_oracle_ver = self._parse_cx_oracle_ver(cx_Oracle.version)
|
||||
if self.cx_oracle_ver < (5, 0) and self.cx_oracle_ver > (0, 0, 0):
|
||||
if self.cx_oracle_ver < (5, 2) and self.cx_oracle_ver > (0, 0, 0):
|
||||
raise exc.InvalidRequestError(
|
||||
"cx_Oracle version 5.0 and above are supported")
|
||||
"cx_Oracle version 5.2 and above are supported")
|
||||
|
||||
self._has_native_int = hasattr(cx_Oracle, "NATIVE_INT")
|
||||
|
||||
|
||||
@@ -28,7 +28,8 @@ import datetime
|
||||
import os
|
||||
from sqlalchemy import sql
|
||||
from sqlalchemy.testing.mock import Mock
|
||||
|
||||
from sqlalchemy.testing import mock
|
||||
from sqlalchemy import exc
|
||||
|
||||
class DialectTest(fixtures.TestBase):
|
||||
def test_cx_oracle_version_parse(self):
|
||||
@@ -49,6 +50,22 @@ class DialectTest(fixtures.TestBase):
|
||||
(6, 0)
|
||||
)
|
||||
|
||||
def test_minimum_version(self):
|
||||
with mock.patch(
|
||||
"sqlalchemy.dialects.oracle.cx_oracle.OracleDialect_cx_oracle."
|
||||
"_parse_cx_oracle_ver", lambda self, vers: (5, 1, 5)):
|
||||
assert_raises_message(
|
||||
exc.InvalidRequestError,
|
||||
"cx_Oracle version 5.2 and above are supported",
|
||||
cx_oracle.OracleDialect_cx_oracle,
|
||||
dbapi=Mock()
|
||||
)
|
||||
|
||||
with mock.patch(
|
||||
"sqlalchemy.dialects.oracle.cx_oracle.OracleDialect_cx_oracle."
|
||||
"_parse_cx_oracle_ver", lambda self, vers: (5, 3, 1)):
|
||||
cx_oracle.OracleDialect_cx_oracle(dbapi=Mock())
|
||||
|
||||
|
||||
class OutParamTest(fixtures.TestBase, AssertsExecutionResults):
|
||||
__only_on__ = 'oracle+cx_oracle'
|
||||
|
||||
Reference in New Issue
Block a user