class documentation

class Comparator(TypeEngine.Comparator):

View In Hierarchy

Undocumented

Method ​_adapt​_expression evaluate the return type of <self> <op> <othertype>, and apply any adaptations to the given operator.

Inherited from Comparator:

Method operate Operate on an argument.
Method reverse​_operate Reverse operate on an argument.
Method __clause​_element__ Undocumented
Method __init__ Undocumented
Method __reduce__ Undocumented
Class Variable __slots__ Undocumented
Class Variable default​_comparator Undocumented
Instance Variable expr Undocumented
Instance Variable type Undocumented

Inherited from ColumnOperators (via Comparator):

Method __add__ Implement the + operator.
Method __contains__ Undocumented
Method __div__ Implement the / operator.
Method __eq__ Implement the == operator.
Method __ge__ Implement the >= operator.
Method __getitem__ Implement the [] operator.
Method __gt__ Implement the > operator.
Method __le__ Implement the <= operator.
Method __lshift__ implement the << operator.
Method __lt__ Implement the < operator.
Method __mod__ Implement the % operator.
Method __mul__ Implement the * operator.
Method __ne__ Implement the != operator.
Method __neg__ Implement the - operator.
Method __radd__ Implement the + operator in reverse.
Method __rdiv__ Implement the / operator in reverse.
Method __rmod__ Implement the % operator in reverse.
Method __rmul__ Implement the * operator in reverse.
Method __rshift__ implement the >> operator.
Method __rsub__ Implement the - operator in reverse.
Method __rtruediv__ Implement the // operator in reverse.
Method __sub__ Implement the - operator.
Method __truediv__ Implement the // operator.
Method all​_ Produce an _expression.all_ clause against the parent object.
Method any​_ Produce an _expression.any_ clause against the parent object.
Method asc Produce a _expression.asc clause against the parent object.
Method between Produce a _expression.between clause against the parent object, given the lower and upper range.
Method collate Produce a _expression.collate clause against the parent object, given the collation string.
Method concat Implement the 'concat' operator.
Method contains Implement the 'contains' operator.
Method desc Produce a _expression.desc clause against the parent object.
Method distinct Produce a _expression.distinct clause against the parent object.
Method endswith Implement the 'endswith' operator.
Method ilike Implement the ilike operator, e.g. case insensitive LIKE.
Method in​_ Implement the in operator.
Method is​_ Implement the IS operator.
Method is​_distinct​_from Implement the IS DISTINCT FROM operator.
Method is​_not Implement the IS NOT operator.
Method is​_not​_distinct​_from Implement the IS NOT DISTINCT FROM operator.
Method like Implement the like operator.
Method match Implements a database-specific 'match' operator.
Method not​_ilike implement the NOT ILIKE operator.
Method not​_in implement the NOT IN operator.
Method not​_like implement the NOT LIKE operator.
Method nulls​_first Produce a _expression.nulls_first clause against the parent object.
Method nulls​_last Produce a _expression.nulls_last clause against the parent object.
Method regexp​_match Implements a database-specific 'regexp match' operator.
Method regexp​_replace Implements a database-specific 'regexp replace' operator.
Method startswith Implement the startswith operator.
Class Variable timetuple Hack, allows datetime objects to be compared on the LHS.

Inherited from Operators (via Comparator, ColumnOperators):

Method __and__ Implement the & operator.
Method __invert__ Implement the ~ operator.
Method __or__ Implement the | operator.
Method bool​_op Return a custom boolean operator.
Method op Produce a generic operator function.
def _adapt_expression(self, op, other_comparator):

evaluate the return type of <self> <op> <othertype>, and apply any adaptations to the given operator.

This method determines the type of a resulting binary expression given two source types and an operator. For example, two _schema.Column objects, both of the type .Integer, will produce a .BinaryExpression that also has the type .Integer when compared via the addition (+) operator. However, using the addition operator with an .Integer and a .Date object will produce a .Date, assuming "days delta" behavior by the database (in reality, most databases other than PostgreSQL don't accept this particular operation).

The method returns a tuple of the form <operator>, <type>. The resulting operator and type will be those applied to the resulting .BinaryExpression as the final operator and the right-hand side of the expression.

Note that only a subset of operators make usage of ._adapt_expression, including math operators and user-defined operators, but not boolean comparison or special SQL keywords like MATCH or BETWEEN.