Skip to content

Commit 48ba1a0

Browse files
committed
fix polar complier
1 parent 3ba1395 commit 48ba1a0

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

bigframes/core/compile/polars/compiler.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,19 @@ def _(self, op: ops.ScalarOp, input: pl.Expr) -> pl.Expr:
407407
assert isinstance(op, json_ops.JSONDecode)
408408
return input.str.json_decode(_DTYPE_MAPPING[op.to_type])
409409

410+
@compile_op.register(json_ops.ToJSONString)
411+
def _(self, op: ops.ScalarOp, input: pl.Expr) -> pl.Expr:
412+
return input.str.json_decode(pl.String())
413+
414+
@compile_op.register(json_ops.ParseJSON)
415+
def _(self, op: ops.ScalarOp, input: pl.Expr) -> pl.Expr:
416+
return input.str.json_decode(pl.String())
417+
418+
@compile_op.register(json_ops.JSONExtract)
419+
def _(self, op: ops.ScalarOp, input: pl.Expr) -> pl.Expr:
420+
assert isinstance(op, json_ops.JSONExtract)
421+
return input.str.json_extract(json_path=op.json_path)
422+
410423
@compile_op.register(arr_ops.ToArrayOp)
411424
def _(self, op: ops.ToArrayOp, *inputs: pl.Expr) -> pl.Expr:
412425
return pl.concat_list(*inputs)

0 commit comments

Comments
 (0)