in Sources/SparkConnect/Extension.swift [34:66]
func toSparkConnectPlan(_ posArguments: [Sendable]) -> Plan {
var sql = Spark_Connect_SQL()
sql.query = self
sql.posArguments = posArguments.map {
var literal = ExpressionLiteral()
switch $0 {
case let value as Bool:
literal.boolean = value
case let value as Int8:
literal.byte = Int32(value)
case let value as Int16:
literal.short = Int32(value)
case let value as Int32:
literal.integer = value
case let value as Int64:
literal.long = value
case let value as Int:
literal.long = Int64(value)
case let value as String:
literal.string = value
default:
literal.string = $0 as! String
}
var expr = Spark_Connect_Expression()
expr.literal = literal
return expr
}
var relation = Relation()
relation.sql = sql
var plan = Plan()
plan.opType = Plan.OneOf_OpType.root(relation)
return plan
}