Skip to content

Commit 5c05366

Browse files
committed
ast related changes
1 parent 078027b commit 5c05366

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/snowflake/snowpark/functions.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -368,16 +368,20 @@ def lit(
368368
<BLANKLINE>
369369
"""
370370

371-
if isinstance(literal, Column):
372-
return literal
373-
374371
ast = None
375372
if _emit_ast:
376-
ast = proto.Expr()
373+
if isinstance(literal, Column):
374+
ast = literal._ast
375+
else:
376+
ast = proto.Expr()
377377
if datatype is None:
378378
build_builtin_fn_apply(ast, "lit", literal)
379379
else:
380380
build_builtin_fn_apply(ast, "lit", literal, datatype)
381+
382+
if isinstance(literal, Column):
383+
return literal
384+
381385
return Column(Literal(literal, datatype=datatype), _ast=ast, _emit_ast=_emit_ast)
382386

383387

tests/ast/data/functions1.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ df05 = df.select(column("X", "A"))
1616

1717
df06 = df.select(column("A", None))
1818

19-
df07 = df.select(lit(1), lit("1"), lit(1.0), lit(True), lit(b'snow'), lit(datetime.date(2023, 2, 2)), lit([1, 2]), lit({"snow": "flake"}))
19+
df07 = df.select(lit(1), lit("1"), lit(1.0), lit(True), lit(b'snow'), lit(datetime.date(2023, 2, 2)), lit([1, 2]), lit({"snow": "flake"}), lit(lit(1)))
2020

2121
df08 = df.select(sql_expr("CURRENT_WAREHOUSE()"))
2222

@@ -314,7 +314,7 @@ df05 = df.select(column("X", "A"))
314314

315315
df06 = df.select(column("A"))
316316

317-
df07 = df.select(lit(1), lit("1"), lit(1.0), lit(True), lit(bytes("snow", "utf-8")), lit(datetime.date(2023, 2, 2)), lit([1, 2]), lit({"snow": "flake"}))
317+
df07 = df.select(lit(1), lit("1"), lit(1.0), lit(True), lit(bytes("snow", "utf-8")), lit(datetime.date(2023, 2, 2)), lit([1, 2]), lit({"snow": "flake"}), lit(lit(1)))
318318

319319
df08 = df.select(sql_expr("CURRENT_WAREHOUSE()"))
320320

0 commit comments

Comments
 (0)