mirror of
https://github.com/psycopg/psycopg2.git
synced 2025-02-07 21:00:33 +03:00
Dropped Range classes for specific numeric types
This commit is contained in:
parent
5e7c1d0b51
commit
45cbcc0713
|
@ -347,18 +347,6 @@ class NumberRange(Range):
|
|||
"""A `Range` suitable to pass Python numeric types to a PostgreSQL range."""
|
||||
pass
|
||||
|
||||
class Int4Range(NumberRange):
|
||||
"""Represents :sql:`int4range` values."""
|
||||
pass
|
||||
|
||||
class Int8Range(NumberRange):
|
||||
"""Represents :sql:`int8range` values."""
|
||||
pass
|
||||
|
||||
class DecimalRange(NumberRange):
|
||||
"""Represents :sql:`numrange` values."""
|
||||
pass
|
||||
|
||||
class DateRange(Range):
|
||||
"""Represents :sql:`daterange` values."""
|
||||
pass
|
||||
|
@ -408,15 +396,15 @@ register_adapter(NumberRange, NumberRangeAdapter)
|
|||
# Register globally typecasters and adapters for builtin range types.
|
||||
|
||||
# note: the adapter is registered more than once, but this is harmless.
|
||||
int4range_caster = RangeCaster(NumberRangeAdapter, Int4Range,
|
||||
int4range_caster = RangeCaster(NumberRangeAdapter, NumberRange,
|
||||
oid=3904, subtype_oid=23, array_oid=3905)
|
||||
int4range_caster._register()
|
||||
|
||||
int8range_caster = RangeCaster(NumberRangeAdapter, Int8Range,
|
||||
int8range_caster = RangeCaster(NumberRangeAdapter, NumberRange,
|
||||
oid=3926, subtype_oid=20, array_oid=3927)
|
||||
int8range_caster._register()
|
||||
|
||||
numrange_caster = RangeCaster(NumberRangeAdapter, DecimalRange,
|
||||
numrange_caster = RangeCaster(NumberRangeAdapter, NumberRange,
|
||||
oid=3906, subtype_oid=1700, array_oid=3907)
|
||||
numrange_caster._register()
|
||||
|
||||
|
|
|
@ -969,7 +969,6 @@ def register_composite(name, conn_or_curs, globally=False):
|
|||
|
||||
# Expose range-related objects
|
||||
from psycopg2._range import Range, NumberRange
|
||||
from psycopg2._range import Int4Range, Int8Range, DecimalRange
|
||||
from psycopg2._range import DateRange, DateTimeRange, DateTimeTZRange
|
||||
from psycopg2._range import register_range, RangeAdapter, RangeCaster
|
||||
|
||||
|
|
|
@ -1012,28 +1012,28 @@ class RangeCasterTestCase(unittest.TestCase):
|
|||
self.assert_(r1.upper_inc)
|
||||
|
||||
def test_adapt_numeric_range(self):
|
||||
from psycopg2.extras import Int4Range, Int8Range, DecimalRange
|
||||
from psycopg2.extras import NumberRange
|
||||
cur = self.conn.cursor()
|
||||
|
||||
r = Int4Range(empty=True)
|
||||
r = NumberRange(empty=True)
|
||||
cur.execute("select %s::int4range", (r,))
|
||||
r1 = cur.fetchone()[0]
|
||||
self.assert_(isinstance(r1, Int4Range), r1)
|
||||
self.assert_(isinstance(r1, NumberRange), r1)
|
||||
self.assert_(r1.isempty)
|
||||
|
||||
r = Int8Range(10, 20)
|
||||
r = NumberRange(10, 20)
|
||||
cur.execute("select %s::int8range", (r,))
|
||||
r1 = cur.fetchone()[0]
|
||||
self.assert_(isinstance(r1, Int8Range))
|
||||
self.assert_(isinstance(r1, NumberRange))
|
||||
self.assertEqual(r1.lower, 10)
|
||||
self.assertEqual(r1.upper, 20)
|
||||
self.assert_(r1.lower_inc)
|
||||
self.assert_(not r1.upper_inc)
|
||||
|
||||
r = DecimalRange(10.2, 20.5, '(]')
|
||||
r = NumberRange(10.2, 20.5, '(]')
|
||||
cur.execute("select %s::numrange", (r,))
|
||||
r1 = cur.fetchone()[0]
|
||||
self.assert_(isinstance(r1, DecimalRange))
|
||||
self.assert_(isinstance(r1, NumberRange))
|
||||
self.assertEqual(r1.lower, Decimal('10.2'))
|
||||
self.assertEqual(r1.upper, Decimal('20.5'))
|
||||
self.assert_(not r1.lower_inc)
|
||||
|
|
Loading…
Reference in New Issue
Block a user