MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _post_coercion

Method _post_coercion

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

Source from the content-addressed store, hash-verified

892 self._raise_for_expected(element, **kw)
893
894 def _post_coercion(self, element, *, expr, operator, **kw):
895 if element._is_select_base:
896 # for IN, we are doing scalar_subquery() coercion without
897 # a warning
898 return element.scalar_subquery()
899 elif isinstance(element, elements.ClauseList):
900 assert not len(element.clauses) == 0
901 return element.self_group(against=operator)
902
903 elif isinstance(element, elements.BindParameter):
904 element = element._clone(maintain_key=True)
905 element.expanding = True
906 element.expand_op = operator
907
908 return element
909 elif isinstance(element, selectable.Values):
910 return element.scalar_values()
911 else:
912 return element
913
914
915class 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