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

Method render_literal_bindparam

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

Source from the content-addressed store, hash-verified

3869 raise NotImplementedError()
3870
3871 def render_literal_bindparam(
3872 self,
3873 bindparam,
3874 render_literal_value=NO_ARG,
3875 bind_expression_template=None,
3876 **kw,
3877 ):
3878 if render_literal_value is not NO_ARG:
3879 value = render_literal_value
3880 else:
3881 if bindparam.value is None and bindparam.callable is None:
3882 op = kw.get("_binary_op", None)
3883 if op and op not in (operators.is_, operators.is_not):
3884 util.warn_limited(
3885 "Bound parameter '%s' rendering literal NULL in a SQL "
3886 "expression; comparisons to NULL should not use "
3887 "operators outside of 'is' or 'is not'",
3888 (bindparam.key,),
3889 )
3890 return self.process(sqltypes.NULLTYPE, **kw)
3891 value = bindparam.effective_value
3892
3893 if bindparam.expanding:
3894 leep = self._literal_execute_expanding_parameter_literal_binds
3895 to_update, replacement_expr = leep(
3896 bindparam,
3897 value,
3898 bind_expression_template=bind_expression_template,
3899 )
3900 return replacement_expr
3901 else:
3902 return self.render_literal_value(value, bindparam.type)
3903
3904 def render_literal_value(
3905 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