diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2018-08-01 23:18:58 -0400 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci.zzzcomputing.com> | 2018-08-01 23:18:58 -0400 |
| commit | 887bd34b2f5af210bfbb59947419d44b70588f4e (patch) | |
| tree | b674e2fc496db5cfab13879af39c221ad5fb7a60 /lib/sqlalchemy/testing | |
| parent | 0fc34a113989cfd284837363a7a55dc2c8aadeab (diff) | |
| parent | 75d48e65eaac9e97283bb14fdec54a143d9997f1 (diff) | |
| download | sqlalchemy-887bd34b2f5af210bfbb59947419d44b70588f4e.tar.gz | |
Merge "Bind Integers to int for cx_Oracle"
Diffstat (limited to 'lib/sqlalchemy/testing')
| -rw-r--r-- | lib/sqlalchemy/testing/suite/test_types.py | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/lib/sqlalchemy/testing/suite/test_types.py b/lib/sqlalchemy/testing/suite/test_types.py index 4cdf14dc9..04e0b3b23 100644 --- a/lib/sqlalchemy/testing/suite/test_types.py +++ b/lib/sqlalchemy/testing/suite/test_types.py @@ -5,7 +5,8 @@ from ..assertions import eq_ from ..config import requirements from sqlalchemy import Integer, Unicode, UnicodeText, select, TIMESTAMP from sqlalchemy import Date, DateTime, Time, MetaData, String, \ - Text, Numeric, Float, literal, Boolean, cast, null, JSON, and_, type_coerce + Text, Numeric, Float, literal, Boolean, cast, null, JSON, and_, \ + type_coerce, BigInteger from ..schema import Table, Column from ... import testing import decimal @@ -337,6 +338,39 @@ class IntegerTest(_LiteralRoundTripFixture, fixtures.TestBase): def test_literal(self): self._literal_round_trip(Integer, [5], [5]) + def test_huge_int(self): + self._round_trip(BigInteger, 1376537018368127) + + @testing.provide_metadata + def _round_trip(self, datatype, data): + metadata = self.metadata + int_table = Table( + 'integer_table', metadata, + Column('id', Integer, primary_key=True, + test_needs_autoincrement=True), + Column('integer_data', datatype), + ) + + metadata.create_all(config.db) + + config.db.execute( + int_table.insert(), + {'integer_data': data} + ) + + row = config.db.execute( + select([ + int_table.c.integer_data, + ]) + ).first() + + eq_(row, (data, )) + + if util.py3k: + assert isinstance(row[0], int) + else: + assert isinstance(row[0], (long, int)) + class NumericTest(_LiteralRoundTripFixture, fixtures.TestBase): __backend__ = True |
