MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / _post_coercion

Method _post_coercion

lib/sqlalchemy/sql/coercions.py:881–899  ·  view source on GitHub ↗
(self, element, *, expr, operator, **kw)

Source from the content-addressed store, hash-verified

879 self._raise_for_expected(element, **kw)
880
881 def _post_coercion(self, element, *, expr, operator, **kw):
882 if element._is_select_base:
883 # for IN, we are doing scalar_subquery() coercion without
884 # a warning
885 return element.scalar_subquery()
886 elif isinstance(element, elements.ClauseList):
887 assert not len(element.clauses) == 0
888 return element.self_group(against=operator)
889
890 elif isinstance(element, elements.BindParameter):
891 element = element._clone(maintain_key=True)
892 element.expanding = True
893 element.expand_op = operator
894
895 return element
896 elif isinstance(element, selectable.Values):
897 return element.scalar_values()
898 else:
899 return element
900
901
902class OnClauseImpl(_ColumnCoercions, RoleImpl):

Callers 1

_implicit_coercionsMethod · 0.95

Calls 4

scalar_valuesMethod · 0.80
scalar_subqueryMethod · 0.45
self_groupMethod · 0.45
_cloneMethod · 0.45

Tested by

no test coverage detected