Skip to content

table name could not be available for Kotlin dataframe JDBC #1220

Open
@linux-china

Description

@linux-china

From

private fun getTableColumnsMetadata(rs: ResultSet): MutableList<TableColumnMetadata> {
    val metaData: ResultSetMetaData = rs.metaData
    val numberOfColumns: Int = metaData.columnCount
    val tableColumns = mutableListOf<TableColumnMetadata>()
    val columnNameCounter = mutableMapOf<String, Int>()
    val databaseMetaData: DatabaseMetaData = rs.statement.connection.metaData
    val catalog: String? = rs.statement.connection.catalog.takeUnless { it.isNullOrBlank() }
    val schema: String? = rs.statement.connection.schema.takeUnless { it.isNullOrBlank() }

    for (i in 1 until numberOfColumns + 1) {
        val tableName = metaData.getTableName(i)

val tableName = metaData.getTableName(i) could be not available for some DB vendors, such as Hive JDBC with throw new SQLFeatureNotSupportedException("Method not supported");

It is possible to make table name empty if exception thrown.

val tableName = try {
            metaData.getTableName(i)
        }   catch (e: Exception) {
            ""
        }

Metadata

Metadata

Assignees

Labels

databasesJDBC related issuesenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions