Skip to content

Commit cc2e15c

Browse files
committed
[SPARK-51539] Refactor SparkConnectClient to use analyze helper function
1 parent 5511c4b commit cc2e15c

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

Sources/SparkConnect/SparkConnectClient.swift

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,9 @@ public actor SparkConnectClient {
6464

6565
self.sessionID = sessionID
6666
let service = SparkConnectService.Client(wrapping: client)
67-
let version = AnalyzePlanRequest.SparkVersion()
68-
var request = AnalyzePlanRequest()
69-
request.clientType = clientType
70-
request.userContext = userContext
71-
request.sessionID = self.sessionID!
72-
request.analyze = .sparkVersion(version)
67+
let request = analyze(self.sessionID!, {
68+
return OneOf_Analyze.sparkVersion(AnalyzePlanRequest.SparkVersion())
69+
})
7370
let response = try await service.analyzePlan(request)
7471
return response
7572
}
@@ -243,13 +240,19 @@ public actor SparkConnectClient {
243240
func getAnalyzePlanRequest(_ sessionID: String, _ plan: Plan) async
244241
-> AnalyzePlanRequest
245242
{
243+
return analyze(sessionID, {
244+
var schema = AnalyzePlanRequest.Schema()
245+
schema.plan = plan
246+
return OneOf_Analyze.schema(schema)
247+
})
248+
}
249+
250+
private func analyze(_ sessionID: String, _ f: () -> OneOf_Analyze) -> AnalyzePlanRequest {
246251
var request = AnalyzePlanRequest()
247252
request.clientType = clientType
248253
request.userContext = userContext
249254
request.sessionID = self.sessionID!
250-
var schema = AnalyzePlanRequest.Schema()
251-
schema.plan = plan
252-
request.analyze = .schema(schema)
255+
request.analyze = f()
253256
return request
254257
}
255258

Sources/SparkConnect/TypeAliases.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ typealias Plan = Spark_Connect_Plan
2525
typealias Project = Spark_Connect_Project
2626
typealias KeyValue = Spark_Connect_KeyValue
2727
typealias Limit = Spark_Connect_Limit
28+
typealias OneOf_Analyze = AnalyzePlanRequest.OneOf_Analyze
2829
typealias Range = Spark_Connect_Range
2930
typealias Relation = Spark_Connect_Relation
3031
typealias SparkConnectService = Spark_Connect_SparkConnectService

0 commit comments

Comments
 (0)