1
0
Fork 0

Merging upstream version 10.2.9.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-13 15:00:13 +01:00
parent 3439d8569e
commit 2468c1121f
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
13 changed files with 91 additions and 26 deletions

View file

@ -3673,7 +3673,11 @@ def table_(table, db=None, catalog=None, quoted=None, alias=None) -> Table:
)
def values(values, alias=None) -> Values:
def values(
values: t.Iterable[t.Tuple[t.Any, ...]],
alias: t.Optional[str] = None,
columns: t.Optional[t.Iterable[str]] = None,
) -> Values:
"""Build VALUES statement.
Example:
@ -3681,17 +3685,23 @@ def values(values, alias=None) -> Values:
"VALUES (1, '2')"
Args:
values (list[tuple[str | Expression]]): values statements that will be converted to SQL
alias (str): optional alias
dialect (str): the dialect used to parse the input expression.
**opts: other options to use to parse the input expressions.
values: values statements that will be converted to SQL
alias: optional alias
columns: Optional list of ordered column names. An alias is required when providing column names.
Returns:
Values: the Values expression object
"""
if columns and not alias:
raise ValueError("Alias is required when providing columns")
table_alias = (
TableAlias(this=to_identifier(alias), columns=[to_identifier(x) for x in columns])
if columns
else TableAlias(this=to_identifier(alias) if alias else None)
)
return Values(
expressions=[convert(tup) for tup in values],
alias=to_identifier(alias) if alias else None,
alias=table_alias,
)