MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / visit_values

Method visit_values

lib/sqlalchemy/sql/compiler.py:4597–4644  ·  view source on GitHub ↗
(
        self, element, asfrom=False, from_linter=None, visiting_cte=None, **kw
    )

Source from the content-addressed store, hash-verified

4595 return f"VALUES {tuples}"
4596
4597 def visit_values(
4598 self, element, asfrom=False, from_linter=None, visiting_cte=None, **kw
4599 ):
4600
4601 if element._independent_ctes:
4602 self._dispatch_independent_ctes(element, kw)
4603
4604 v = self._render_values(element, **kw)
4605
4606 if element._unnamed:
4607 name = None
4608 elif isinstance(element.name, elements._truncated_label):
4609 name = self._truncated_identifier("values", element.name)
4610 else:
4611 name = element.name
4612
4613 if element._is_lateral:
4614 lateral = "LATERAL "
4615 else:
4616 lateral = ""
4617
4618 if asfrom:
4619 if from_linter:
4620 from_linter.froms[element._de_clone()] = (
4621 name if name is not None else "(unnamed VALUES element)"
4622 )
4623
4624 if visiting_cte is not None and visiting_cte.element is element:
4625 if element._is_lateral:
4626 raise exc.CompileError(
4627 "Can't use a LATERAL VALUES expression inside of a CTE"
4628 )
4629 elif name:
4630 kw["include_table"] = False
4631 v = "%s(%s)%s (%s)" % (
4632 lateral,
4633 v,
4634 self.get_render_as_alias_suffix(self.preparer.quote(name)),
4635 (
4636 ", ".join(
4637 c._compiler_dispatch(self, **kw)
4638 for c in element.columns
4639 )
4640 ),
4641 )
4642 else:
4643 v = "%s(%s)" % (lateral, v)
4644 return v
4645
4646 def visit_scalar_values(self, element, **kw):
4647 return f"({self._render_values(element, **kw)})"

Callers

nothing calls this directly

Calls 8

_render_valuesMethod · 0.95
_truncated_identifierMethod · 0.95
_de_cloneMethod · 0.80
quoteMethod · 0.45
joinMethod · 0.45
_compiler_dispatchMethod · 0.45

Tested by

no test coverage detected