Skip to content

Commit

Permalink
trino engine add default result schema
Browse files Browse the repository at this point in the history
  • Loading branch information
lsm1 committed Jan 13, 2024
1 parent bffbdbd commit dfc987e
Showing 1 changed file with 7 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import scala.concurrent.ExecutionContext

import com.google.common.base.Verify
import io.trino.client.ClientSession
import io.trino.client.ClientTypeSignature
import io.trino.client.Column
import io.trino.client.StatementClient
import io.trino.client.StatementClientFactory
Expand All @@ -46,6 +47,9 @@ class TrinoStatement(
sql: String,
operationLog: Option[OperationLog]) extends Logging {

private val defaultSchema: List[Column] =
List(new Column("Result", "VARCHAR", new ClientTypeSignature("VARCHAR")))

private lazy val trino = StatementClientFactory
.newStatementClient(trinoContext.httpClient, trinoContext.clientSession.get, sql)

Expand All @@ -68,6 +72,9 @@ class TrinoStatement(
val columns = results.getColumns()
if (columns != null) {
info(s"Execute with Trino query id: ${results.getId}")
if (columns.isEmpty) {
return defaultSchema
}
return columns.asScala.toList
}
trino.advance()
Expand Down

0 comments on commit dfc987e

Please sign in to comment.