[KYUUBI #5969] Trino engine add default schema
# 🔍 Description ## Issue References 🔗 This pull request fixes #5969 ## Describe Your Solution 🔧 Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. ## Types of changes 🔖 - [x] Bugfix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) ## Test Plan 🧪 #### Behavior Without This Pull Request ⚰️ #### Behavior With This Pull Request 🎉 #### Related Unit Tests --- # Checklist 📝 - [x] This patch was not authored or co-authored using [Generative Tooling](https://www.apache.org/legal/generative-tooling.html) **Be nice. Be informative.** Closes #5971 from lsm1/branch-kyuubi-trino-schema. Closes #5969 dfc987e03 [senmiaoliu] trino engine add default result schema Authored-by: senmiaoliu <senmiaoliu@trip.com> Signed-off-by: Cheng Pan <chengpan@apache.org>
This commit is contained in:
parent
3af755115a
commit
fcad8b520c
@ -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
|
||||
@ -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)
|
||||
|
||||
@ -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()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user