Skip to content

Commit 7e6d727

Browse files
[KYUUBI #7305] Address review nits
- ImpalaDialect: simplify Statement/ResultSet lifecycle with JdbcUtils.withCloseable - Rename ExecuteMetaDataOperation -> MetaDataOperation - Rename runMetaDataCall -> fetchMetaData
1 parent d927966 commit 7e6d727

12 files changed

Lines changed: 32 additions & 32 deletions

File tree

externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/dialect/ImpalaDialect.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import java.sql.Connection
2020

2121
import org.apache.kyuubi.engine.jdbc.impala.{ImpalaSchemaHelper, ImpalaTRowSetGenerator}
2222
import org.apache.kyuubi.engine.jdbc.schema.{JdbcTRowSetGenerator, SchemaHelper}
23+
import org.apache.kyuubi.util.JdbcUtils.withCloseable
2324

2425
class ImpalaDialect extends JdbcDialect {
2526

@@ -30,21 +31,20 @@ class ImpalaDialect extends JdbcDialect {
3031
// database switch lands as plain Impala SQL the backend understands.
3132
override def setSchema(conn: Connection, schema: String): Unit = {
3233
val escaped = schema.replace("`", "``")
33-
val stmt = conn.createStatement()
34-
try stmt.execute(s"USE `$escaped`")
35-
finally stmt.close()
34+
withCloseable(conn.createStatement()) { stmt =>
35+
stmt.execute(s"USE `$escaped`")
36+
}
3637
}
3738

3839
// Symmetric to `setSchema`: `KyuubiConnection#getSchema` ships a Kyuubi-private session
3940
// config (`kyuubi.operation.get.current.database`) that Impalad rejects. Read the current
4041
// database via plain SQL.
4142
override def getCurrentSchema(conn: Connection): String = {
42-
val stmt = conn.createStatement()
43-
try {
44-
val rs = stmt.executeQuery("SELECT current_database()")
45-
try if (rs.next()) rs.getString(1) else null
46-
finally rs.close()
47-
} finally stmt.close()
43+
withCloseable(conn.createStatement()) { stmt =>
44+
withCloseable(stmt.executeQuery("SELECT current_database()")) { rs =>
45+
if (rs.next()) rs.getString(1) else null
46+
}
47+
}
4848
}
4949

5050
override def getTRowSetGenerator(): JdbcTRowSetGenerator = new ImpalaTRowSetGenerator

externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/operation/GetCatalogs.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import java.sql.{Connection, ResultSet}
2121
import org.apache.kyuubi.engine.jdbc.dialect.JdbcDialect
2222
import org.apache.kyuubi.session.Session
2323

24-
class GetCatalogs(session: Session) extends ExecuteMetaDataOperation(session) {
25-
override protected def runMetaDataCall(dialect: JdbcDialect, conn: Connection): ResultSet =
24+
class GetCatalogs(session: Session) extends MetaDataOperation(session) {
25+
override protected def fetchMetaData(dialect: JdbcDialect, conn: Connection): ResultSet =
2626
dialect.getCatalogs(conn)
2727
}

externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/operation/GetColumns.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class GetColumns(
2727
schema: String,
2828
tableName: String,
2929
columnName: String)
30-
extends ExecuteMetaDataOperation(session) {
31-
override protected def runMetaDataCall(dialect: JdbcDialect, conn: Connection): ResultSet =
30+
extends MetaDataOperation(session) {
31+
override protected def fetchMetaData(dialect: JdbcDialect, conn: Connection): ResultSet =
3232
dialect.getColumns(conn, catalog, schema, tableName, columnName)
3333
}

externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/operation/GetCrossReference.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ class GetCrossReference(
2929
foreignCatalog: String,
3030
foreignSchema: String,
3131
foreignTable: String)
32-
extends ExecuteMetaDataOperation(session) {
33-
override protected def runMetaDataCall(dialect: JdbcDialect, conn: Connection): ResultSet =
32+
extends MetaDataOperation(session) {
33+
override protected def fetchMetaData(dialect: JdbcDialect, conn: Connection): ResultSet =
3434
dialect.getCrossReference(
3535
conn,
3636
primaryCatalog,

externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/operation/GetFunctions.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import org.apache.kyuubi.engine.jdbc.dialect.JdbcDialect
2222
import org.apache.kyuubi.session.Session
2323

2424
class GetFunctions(session: Session, catalog: String, schema: String, functionName: String)
25-
extends ExecuteMetaDataOperation(session) {
26-
override protected def runMetaDataCall(dialect: JdbcDialect, conn: Connection): ResultSet =
25+
extends MetaDataOperation(session) {
26+
override protected def fetchMetaData(dialect: JdbcDialect, conn: Connection): ResultSet =
2727
dialect.getFunctions(conn, catalog, schema, functionName)
2828
}

externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/operation/GetPrimaryKeys.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import org.apache.kyuubi.engine.jdbc.dialect.JdbcDialect
2222
import org.apache.kyuubi.session.Session
2323

2424
class GetPrimaryKeys(session: Session, catalog: String, schema: String, tableName: String)
25-
extends ExecuteMetaDataOperation(session) {
26-
override protected def runMetaDataCall(dialect: JdbcDialect, conn: Connection): ResultSet =
25+
extends MetaDataOperation(session) {
26+
override protected def fetchMetaData(dialect: JdbcDialect, conn: Connection): ResultSet =
2727
dialect.getPrimaryKeys(conn, catalog, schema, tableName)
2828
}

externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/operation/GetSchemas.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import org.apache.kyuubi.engine.jdbc.dialect.JdbcDialect
2222
import org.apache.kyuubi.session.Session
2323

2424
class GetSchemas(session: Session, catalog: String, schema: String)
25-
extends ExecuteMetaDataOperation(session) {
26-
override protected def runMetaDataCall(dialect: JdbcDialect, conn: Connection): ResultSet =
25+
extends MetaDataOperation(session) {
26+
override protected def fetchMetaData(dialect: JdbcDialect, conn: Connection): ResultSet =
2727
dialect.getSchemas(conn, catalog, schema)
2828
}

externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/operation/GetTableTypes.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import java.sql.{Connection, ResultSet}
2121
import org.apache.kyuubi.engine.jdbc.dialect.JdbcDialect
2222
import org.apache.kyuubi.session.Session
2323

24-
class GetTableTypes(session: Session) extends ExecuteMetaDataOperation(session) {
25-
override protected def runMetaDataCall(dialect: JdbcDialect, conn: Connection): ResultSet =
24+
class GetTableTypes(session: Session) extends MetaDataOperation(session) {
25+
override protected def fetchMetaData(dialect: JdbcDialect, conn: Connection): ResultSet =
2626
dialect.getTableTypes(conn)
2727
}

externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/operation/GetTables.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class GetTables(
2727
schema: String,
2828
tableName: String,
2929
tableTypes: Array[String])
30-
extends ExecuteMetaDataOperation(session) {
31-
override protected def runMetaDataCall(dialect: JdbcDialect, conn: Connection): ResultSet =
30+
extends MetaDataOperation(session) {
31+
override protected def fetchMetaData(dialect: JdbcDialect, conn: Connection): ResultSet =
3232
dialect.getTables(conn, catalog, schema, tableName, tableTypes)
3333
}

externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/operation/GetTypeInfo.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import java.sql.{Connection, ResultSet}
2121
import org.apache.kyuubi.engine.jdbc.dialect.JdbcDialect
2222
import org.apache.kyuubi.session.Session
2323

24-
class GetTypeInfo(session: Session) extends ExecuteMetaDataOperation(session) {
25-
override protected def runMetaDataCall(dialect: JdbcDialect, conn: Connection): ResultSet =
24+
class GetTypeInfo(session: Session) extends MetaDataOperation(session) {
25+
override protected def fetchMetaData(dialect: JdbcDialect, conn: Connection): ResultSet =
2626
dialect.getTypeInfo(conn)
2727
}

0 commit comments

Comments
 (0)