MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / render_literal_bindparam

Method render_literal_bindparam

lib/sqlalchemy/sql/compiler.py:4050–4081  ·  view source on GitHub ↗
(
        self,
        bindparam,
        render_literal_value=NO_ARG,
        bind_expression_template=None,
        **kw,
    )

Source from the content-addressed store, hash-verified

4048 raise NotImplementedError()
4049
4050 def render_literal_bindparam(
4051 self,
4052 bindparam,
4053 render_literal_value=NO_ARG,
4054 bind_expression_template=None,
4055 **kw,
4056 ):
4057 if render_literal_value is not NO_ARG:
4058 value = render_literal_value
4059 else:
4060 if bindparam.value is None and bindparam.callable is None:
4061 op = kw.get("_binary_op", None)
4062 if op and op not in (operators.is_, operators.is_not):
4063 util.warn_limited(
4064 "Bound parameter '%s' rendering literal NULL in a SQL "
4065 "expression; comparisons to NULL should not use "
4066 "operators outside of 'is' or 'is not'",
4067 (bindparam.key,),
4068 )
4069 return self.process(sqltypes.NULLTYPE, **kw)
4070 value = bindparam.effective_value
4071
4072 if bindparam.expanding:
4073 leep = self._literal_execute_expanding_parameter_literal_binds
4074 to_update, replacement_expr = leep(
4075 bindparam,
4076 value,
4077 bind_expression_template=bind_expression_template,
4078 )
4079 return replacement_expr
4080 else:
4081 return self.render_literal_value(value, bindparam.type)
4082
4083 def render_literal_value(
4084 self, value: Any, type_: sqltypes.TypeEngine[Any]

Callers 2

visit_bindparamMethod · 0.95

Calls 3

render_literal_valueMethod · 0.95
getMethod · 0.45
processMethod · 0.45

Tested by

no test coverage detected