summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-06-22 11:40:10 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-06-22 11:40:32 -0400
commit62dc627219d94a6972090eaf810017f1f0083040 (patch)
treeb02aa431e2c4bec18cb79ea38298671ace648b2f
parentdb24d2e81313a34271402356a463e8ebeae84cd0 (diff)
downloadsqlalchemy-62dc627219d94a6972090eaf810017f1f0083040.tar.gz
- 0.8 changelog
- some whitespace
-rw-r--r--doc/build/changelog/changelog_08.rst8
-rw-r--r--lib/sqlalchemy/dialects/postgresql/ranges.py22
2 files changed, 19 insertions, 11 deletions
diff --git a/doc/build/changelog/changelog_08.rst b/doc/build/changelog/changelog_08.rst
index 8ced943bb..5f305fe8f 100644
--- a/doc/build/changelog/changelog_08.rst
+++ b/doc/build/changelog/changelog_08.rst
@@ -7,6 +7,14 @@
:version: 0.8.2
.. change::
+ :tags: feature, postgresql
+
+ Support for Postgresql 9.2 range types has been added.
+ Currently, no type translation is provided, so works
+ directly with strings or psycopg2 2.5 range extension types
+ at the moment. Patch courtesy Chris Withers.
+
+ .. change::
:tags: bug, examples
Fixed an issue with the "versioning" recipe whereby a many-to-one
diff --git a/lib/sqlalchemy/dialects/postgresql/ranges.py b/lib/sqlalchemy/dialects/postgresql/ranges.py
index e7ab1d5b5..f708b286e 100644
--- a/lib/sqlalchemy/dialects/postgresql/ranges.py
+++ b/lib/sqlalchemy/dialects/postgresql/ranges.py
@@ -27,7 +27,7 @@ class RangeOperators(object):
"""Define comparison operations for range types."""
def __ne__(self, other):
- "Boolean expression. Returns true if two ranges are not equal"
+ "Boolean expression. Returns true if two ranges are not equal"
return self.expr.op('<>')(other)
def contains(self, other, **kw):
@@ -54,7 +54,7 @@ class RangeOperators(object):
left of the right hand operand.
"""
return self.expr.op('<<')(other)
-
+
__lshift__ = strictly_left_of
def strictly_right_of(self, other):
@@ -62,15 +62,15 @@ class RangeOperators(object):
right of the right hand operand.
"""
return self.expr.op('>>')(other)
-
+
__rshift__ = strictly_right_of
-
+
def not_extend_right_of(self, other):
"""Boolean expression. Returns true if the range in the column
does not extend right of the range in the operand.
"""
return self.expr.op('&<')(other)
-
+
def not_extend_left_of(self, other):
"""Boolean expression. Returns true if the range in the column
does not extend left of the range in the operand.
@@ -92,42 +92,42 @@ class RangeOperators(object):
class INT4RANGE(RangeOperators, sqltypes.TypeEngine):
"Represent the Postgresql INT4RANGE type."
-
+
__visit_name__ = 'INT4RANGE'
ischema_names['int4range'] = INT4RANGE
class INT8RANGE(RangeOperators, sqltypes.TypeEngine):
"Represent the Postgresql INT8RANGE type."
-
+
__visit_name__ = 'INT8RANGE'
ischema_names['int8range'] = INT8RANGE
class NUMRANGE(RangeOperators, sqltypes.TypeEngine):
"Represent the Postgresql NUMRANGE type."
-
+
__visit_name__ = 'NUMRANGE'
ischema_names['numrange'] = NUMRANGE
class DATERANGE(RangeOperators, sqltypes.TypeEngine):
"Represent the Postgresql DATERANGE type."
-
+
__visit_name__ = 'DATERANGE'
ischema_names['daterange'] = DATERANGE
class TSRANGE(RangeOperators, sqltypes.TypeEngine):
"Represent the Postgresql TSRANGE type."
-
+
__visit_name__ = 'TSRANGE'
ischema_names['tsrange'] = TSRANGE
class TSTZRANGE(RangeOperators, sqltypes.TypeEngine):
"Represent the Postgresql TSTZRANGE type."
-
+
__visit_name__ = 'TSTZRANGE'
ischema_names['tstzrange'] = TSTZRANGE