summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-11-24 01:44:08 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-11-24 01:44:08 +0000
commite3502f7f9d9b68d718a517a3d17f5bdd2aaa86c7 (patch)
tree7fab67cd362e2d82d111a036a78267a27691c976 /lib/sqlalchemy
parent6c8af5108e1754e39e3837c7fec1c59fb1b19135 (diff)
downloadsqlalchemy-e3502f7f9d9b68d718a517a3d17f5bdd2aaa86c7.tar.gz
deprecated CompositeProperty 'comparator' which is now
named 'comparator_factory'.
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/orm/__init__.py10
-rw-r--r--lib/sqlalchemy/orm/properties.py6
2 files changed, 9 insertions, 7 deletions
diff --git a/lib/sqlalchemy/orm/__init__.py b/lib/sqlalchemy/orm/__init__.py
index c9066fb6c..ad19d7969 100644
--- a/lib/sqlalchemy/orm/__init__.py
+++ b/lib/sqlalchemy/orm/__init__.py
@@ -211,7 +211,7 @@ def relation(argument, secondary=None, **kwargs):
used in place of a plain list for storing elements.
comparator_factory
- a class which extends sqlalchemy.orm.properties.RelationProperty.Comparator
+ a class which extends ``sqlalchemy.orm.properties.RelationProperty.Comparator``
which provides custom SQL clause generation for comparison operations.
extension
@@ -404,7 +404,7 @@ def column_property(*args, **kwargs):
list of Column objects to be mapped.
comparator_factory
- a class which extends sqlalchemy.orm.properties.RelationProperty.Comparator
+ a class which extends ``sqlalchemy.orm.properties.ColumnProperty.Comparator``
which provides custom SQL clause generation for comparison operations.
group
@@ -485,9 +485,9 @@ def composite(class_, *cols, **kwargs):
load immediately, and is instead loaded when the attribute is first
accessed on an instance. See also [sqlalchemy.orm#deferred()].
- comparator
- An optional instance of [sqlalchemy.orm#PropComparator] which provides
- SQL expression generation functions for this composite type.
+ comparator_factory
+ a class which extends ``sqlalchemy.orm.properties.CompositeProperty.Comparator``
+ which provides custom SQL clause generation for comparison operations.
extension
an [sqlalchemy.orm.interfaces#AttributeExtension] instance,
diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py
index 714b18047..6404b8349 100644
--- a/lib/sqlalchemy/orm/properties.py
+++ b/lib/sqlalchemy/orm/properties.py
@@ -41,7 +41,7 @@ class ColumnProperty(StrategizedProperty):
self.columns = [expression._labeled(c) for c in columns]
self.group = kwargs.pop('group', None)
self.deferred = kwargs.pop('deferred', False)
- self.comparator_factory = kwargs.pop('comparator_factory', ColumnProperty.ColumnComparator)
+ self.comparator_factory = kwargs.pop('comparator_factory', self.__class__.Comparator)
self.extension = kwargs.pop('extension', None)
util.set_creation_order(self)
if self.deferred:
@@ -108,10 +108,12 @@ class CompositeProperty(ColumnProperty):
"""subclasses ColumnProperty to provide composite type support."""
def __init__(self, class_, *columns, **kwargs):
+ if 'comparator' in kwargs:
+ util.warn_deprecated("The 'comparator' argument to CompositeProperty is deprecated. Use comparator_factory.")
+ kwargs['comparator_factory'] = kwargs['comparator']
super(CompositeProperty, self).__init__(*columns, **kwargs)
self._col_position_map = dict((c, i) for i, c in enumerate(columns))
self.composite_class = class_
- self.comparator_factory = kwargs.pop('comparator', CompositeProperty.Comparator)
self.strategy_class = strategies.CompositeColumnLoader
def do_init(self):