the original sme doesn't handle multiple arg structs directly, this was provided by the methods add_struct_field impl. As such:
val og = sparkSession.range(1).selectExpr("named_struct('a', 1, 'b', named_struct('c', 4)) s")
val updated = og.select(update_field(col("s"), ("b.c", lit(40))) as "s")
would not yield the correct results, instead adding a field called b.c instead of nesting. The function impl from #35 should be called and this logic implemented once.
the original sme doesn't handle multiple arg structs directly, this was provided by the methods add_struct_field impl. As such:
would not yield the correct results, instead adding a field called b.c instead of nesting. The function impl from #35 should be called and this logic implemented once.