diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-06-22 11:40:10 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-06-22 11:40:32 -0400 |
commit | 62dc627219d94a6972090eaf810017f1f0083040 (patch) | |
tree | b02aa431e2c4bec18cb79ea38298671ace648b2f | |
parent | db24d2e81313a34271402356a463e8ebeae84cd0 (diff) | |
download | sqlalchemy-62dc627219d94a6972090eaf810017f1f0083040.tar.gz |
- 0.8 changelog
- some whitespace
-rw-r--r-- | doc/build/changelog/changelog_08.rst | 8 | ||||
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/ranges.py | 22 |
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 |