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

Method visit_values

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

Source from the content-addressed store, hash-verified

4415 return f"VALUES {tuples}"
4416
4417 def visit_values(
4418 self, element, asfrom=False, from_linter=None, visiting_cte=None, **kw
4419 ):
4420
4421 if element._independent_ctes:
4422 self._dispatch_independent_ctes(element, kw)
4423
4424 v = self._render_values(element, **kw)
4425
4426 if element._unnamed:
4427 name = None
4428 elif isinstance(element.name, elements._truncated_label):
4429 name = self._truncated_identifier("values", element.name)
4430 else:
4431 name = element.name
4432
4433 if element._is_lateral:
4434 lateral = "LATERAL "
4435 else:
4436 lateral = ""
4437
4438 if asfrom:
4439 if from_linter:
4440 from_linter.froms[element._de_clone()] = (
4441 name if name is not None else "(unnamed VALUES element)"
4442 )
4443
4444 if visiting_cte is not None and visiting_cte.element is element:
4445 if element._is_lateral:
4446 raise exc.CompileError(
4447 "Can't use a LATERAL VALUES expression inside of a CTE"
4448 )
4449 elif name:
4450 kw["include_table"] = False
4451 v = "%s(%s)%s (%s)" % (
4452 lateral,
4453 v,
4454 self.get_render_as_alias_suffix(self.preparer.quote(name)),
4455 (
4456 ", ".join(
4457 c._compiler_dispatch(self, **kw)
4458 for c in element.columns
4459 )
4460 ),
4461 )
4462 else:
4463 v = "%s(%s)" % (lateral, v)
4464 return v
4465
4466 def visit_scalar_values(self, element, **kw):
4467 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