summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/operators.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/sql/operators.py')
-rw-r--r--lib/sqlalchemy/sql/operators.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/operators.py b/lib/sqlalchemy/sql/operators.py
index 560f723f2..ba1117ef6 100644
--- a/lib/sqlalchemy/sql/operators.py
+++ b/lib/sqlalchemy/sql/operators.py
@@ -170,6 +170,23 @@ class Operators(object):
class custom_op(object):
+ """Represent a 'custom' operator.
+
+ :class:`.custom_op` is normally instantitated when the
+ :meth:`.ColumnOperators.op` method is used to create a
+ custom operator callable. The class can also be used directly
+ when programmatically constructing expressions. E.g.
+ to represent the "factorial" operation::
+
+ from sqlalchemy.sql import UnaryExpression
+ from sqlalchemy.sql import operators
+ from sqlalchemy import Numeric
+
+ unary = UnaryExpression(table.c.somecolumn,
+ modifier=operators.custom_op("!"),
+ type_=Numeric)
+
+ """
__name__ = 'custom_op'
def __init__(self, opstring, precedence=0):